`
steven-zhou
  • 浏览: 212362 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

字符串的就地逆置

阅读更多
/* 非递归实现 */
void reverse(char *s)
{
    char *head;
    char *tail;
    char tmp;

    head = s;
    tail = head + strlen(s) - 1;

    while (head < tail) {
        tmp = *head;
        *head = *tail;
        *tail = tmp;

        head++;
        tail--;
    }
}


/* 递归实现 */
void reverse(char *str, int len)
{
    if (len <= 1)
        return;

    char *end = str + len - 1;
    char tmp;

    tmp = *str;
    *str = *end;
    *end = tmp;

    reverse(str + 1, len - 2);
}


分享到:
评论

相关推荐

    线性表的就地逆置

    * 字符串处理:可以使用就地逆置算法来逆置字符串。 * 链表操作:可以使用就地逆置算法来逆置链表。 * 数据压缩:可以使用就地逆置算法来压缩数据。 线性表的就地逆置是一个非常重要的算法,它可以在实际应用中发挥...

    数据结构实现就地逆置

    在实际应用中,就地逆置算法可以用于各种场景,如反转字符串、二叉树的反序遍历等。了解并掌握这种算法能帮助我们在解决涉及数据结构的问题时更加游刃有余,提高程序的效率和内存利用率。 总结一下,就地逆置是一种...

    计算字母输入次序

    计算26个字母的输入次序,不区分大小写 输入任意一个字符串,判断26个字符的输入次序,并输出

    关于C的精粹包含至少200个C语言小程序

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 ...

    c语言实例解析——数据结构篇(42-74)

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 ...

    数据结构最全源程序

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 ...

    计算机二级C语言上机题库超强拼音检索快速找到多个版本,综合整理.pdf

    例如,一个 `fun` 函数实现了数组的就地逆置,即不使用额外空间,直接交换数组中的元素顺序。还有一个函数 `fun` 通过移动数组元素来调整数组,以便它能够有序存储元素。 总结来看,文档中展示的代码片段涉及到...

    200个经典C程序【源码】

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 ...

    C语言经典源代码实例 数据结构 操作系统 图形等

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 ...

    C语言源代码实例.rar

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 ...

    经典的C程序220案列

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 ...

    C语言220例从易到难源代码

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 ...

    C语言学习实例220例

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 067 求解...

    C语言程序源代码(大集合).rar

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 ...

    200个经典C程序源码小游戏

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 ...

    C语言常用算法

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 ...

    C语言实例解析精粹

    056 单链表就地逆置 057 运动会分数统计 058 双链表 059 约瑟夫环 060 记录个人资料 061 二叉树遍利 062 浮点数转换为字符串 063 汉诺塔问题 064 哈夫曼编码 065 图的深度优先遍利 066 图的广度优先遍利 ...

    《空间数据结构实验》课程教学大纲.docx

    1. 线性表实验,要求实现顺序和链接存储,以及单链表的就地逆置算法。 2. 栈实验,涉及顺序和链接存储,以及十六进制到二进制的转换。 3. 字符串查找实验,实现字符串查找和匹配功能。 4. 稀疏矩阵实验,要求压缩...

    数据结构答案

    ### 数据结构答案解析 #### 习题一 **1.1 求整数数组中的最小值** ...以上是对给定文件中的各个习题及其答案的详细解析,涵盖了数据结构的基本概念、数组操作、链表管理以及字符串处理等方面的知识点。

    作业中的算法设计题参考答案.pdf

    5. **链表的就地逆置**(2.22 void LinkList_reverse): 使用头插法实现链表逆序。这个算法从第二个元素开始,依次将元素插入到新链表的头部,最后将原链表的头部链接到最后。时间复杂度为O(n),空间复杂度为O(1)...

Global site tag (gtag.js) - Google Analytics