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语言逆转字符串数组

逆转字符串数组#include #include char* reverse(char *x) { int tem,len=strlen(x); int n=len/2; ...
  • zdc524
  • zdc524
  • 2017年10月18日 18:12
  • 144

C语言两种方法实现字符串反转

转http://www.cyrec.org/posts/c-string-reverse #include #include #include int strReverse(ch...
  • u011407501
  • u011407501
  • 2013年09月21日 20:09
  • 4209

C语言指针-链表逆转

昨晚看到庭波老师的日志说要实习链表逆转,点进去看了下
  • lsh670660992
  • lsh670660992
  • 2014年11月21日 11:51
  • 1335

C语言实现字符串中的单词的逆转

#include #include void Rotate(char *start,char *end) { if(start == NULL || end == NULL) return ; wh...
  • I_peter
  • I_peter
  • 2016年09月09日 13:29
  • 430

单链表的逆转 C语言

#include #include typedef struct node{ int data; struct node *next; }node; node * re...
  • chichangjing1
  • chichangjing1
  • 2013年03月08日 13:07
  • 852

【C语言】逆转一个数字

把一个数字 123456 变为  654321赋给另一个数 代码: #include #include void fuc(int *p, int x) { if (x != 0) ...
  • a781558066
  • a781558066
  • 2014年12月21日 18:06
  • 715

逆转字符串 C语言

#include #include char* Reverse(char *str) { if(str == NULL) return str; char...
  • moxiaopeng
  • moxiaopeng
  • 2014年08月09日 17:39
  • 1535

经典算法学习——逆转链表

链表在数据结构中是一种非常重要的线性数据结构,也是各类面试笔试中常常涉及的问题。其中最常见的一个问题就是“输入一个链表的头结点,从尾到头反过来打印出每个节点的值”,简单说就是逆转链表。当然,有人会发现...
  • CHENYUFENG1991
  • CHENYUFENG1991
  • 2016年08月07日 16:51
  • 2507

逆转字符串的三种方法

所谓逆转字符串,就是将一个字符串头尾倒置,变成一个新的字符串 如:abcde -> edcba cccaa -> aaccc 逆转字符串可以在线性时间内完成,所需时间与字符串长度成正比。逆转的方...
  • alongela
  • alongela
  • 2012年10月20日 17:58
  • 4086

java逆转字符串

import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util....
  • xieweikun7
  • xieweikun7
  • 2016年09月30日 16:09
  • 695
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言非递归实现字符串逆转
举报原因:
原因补充:

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