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...

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

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

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

问题描述:        编写一个函数reverse_string(char *srring)(递归实现)        实现:将参数字符串中的字符反向排列。 ...

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

题目内容的 “注意” 已经侧面规定了要用递归来实现: 输入是一个可能含有空格的串说明要用gets来读入字符串,如果利用scanf的话是无法读入一段含有空格的串。

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

  • 2013-11-17 19:21
  • 28.39MB
  • 下载

C/C++面试程序题(一)——字符串反转、链表反转的递归、非递归实现

一、用递归方式、非递归方式写函数将一个字符串反转。      非递归方式:   这个是比较简单啦,注意到一半就得停住   char* reverse(char *str){ if(s...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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