C语言非递归实现字符串逆转

原创 2015年07月07日 22:39:44

一,非递归方式实现一个字符串”abcdefg”逆转.
我们可以按照如下步骤进行:
1,求出这个字符串的长度
2,两个索引 i和j, 初始值i为0,j为字符长度减1
3,然后将两个索引位置的字符交换,然后i加1,j减1.
4,如果i小于j那么重复3

二,步骤图示:
这里写图片描述

三,代码如下:

#include "stdafx.h"
#include<string.h>
void reverseStr_1(char* value){
    if(value == NULL){
        return;
    }

    int len = strlen(value);
    printf("%d\n",len);

    char* pointer = value;
    int i=0,j=len-1;
    while(i < j){
        char temp = *(pointer+i);
        *(pointer+i) = *(pointer+j);
        *(pointer+j) = temp;
        i++;
        j--;
    }

}


int main()
{
    char value[] = "abcdefg";
    reverseStr_1(value);
    printf("after reverse:%s\n",value);
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言+二维数组+非递归实现五子棋游戏(代码贴过来后无缩进,尽请谅解,工程完成度:100%)

规则: 1、白子为0; 2、黑子为@; 3、白子先手; 备注: 1、本程序会持续进行代码与流程的完善; #include #define N 16 void wzq_show(char ...

C语言非递归实现二叉树的先序、中序、后序、层序遍历

#include #include #include #include using namespace std;//*****二叉树的二叉链表存储表示*****// typ...

C语言实现二叉树的常用的算法(递归与非递归实现遍历)

队列头文件: #include #include "BinaryTree.h" // // 队列头文件:Queue.h #ifndef QUEUE_H #define QUEUE_H // ...

字符串的全排列非递归实现算法

题目类似剑指offer的第28题,这里在粘贴一下:题目:输入一个字符串,打印出该字符串中字符放入所有排列。例如输入字符串abc,则打印出字符a、b、c所能排列出来的所有字符串abc、acb、bac、b...

Java非递归实现多叉树型结构遍历成JSON字符串

普通的树形菜单生成是采用递归法,比较浪费时间和空间。在查询出的树形菜单数据是有序排列的情况下,我采用倒序的遍历,拼凑出最终的树,只使用了1次for循环,以空间换时间,效果还不错,具体的原理稍后补充。 ...

非递归实现广度遍历生成二叉树

  • 2014年11月05日 19:16
  • 1021B
  • 下载

二叉树的C++非递归实现

  • 2013年11月17日 19:21
  • 28.39MB
  • 下载

(C语言)递归实现字符串反转

问题描述:        编写一个函数reverse_string(char *srring)(递归实现)        实现:将参数字符串中的字符反向排列。        要求:不能使用处C库函数...

C语言简单递归实现字符串逆序输出

题目内容的 “注意” 已经侧面规定了要用递归来实现: 输入是一个可能含有空格的串说明要用gets来读入字符串,如果利用scanf的话是无法读入一段含有空格的串。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言非递归实现字符串逆转
举报原因:
原因补充:

(最多只允许输入30个字)