多语言展示
当前在线:459今日阅读:100今日分享:18

如何将一个字符串逆序输出

在我们的生活中那,如何操作上述标题的小问题,小编今天就在这里给大家分享一点我的小经验,来增加我们的体验,希望可以给你们带来帮助。
方法/步骤
1

所有代码都采用C/C++编写给定一个字符串s,将s中的字符顺序颠倒过来,比如s='abcd',逆序后变成s='dcba'。

2

char* Reverse(char* s) {    //将q指向字符串最后一个字符    char* q = s ;    while( *q++ ) ;    q -= 2 ;    //分配空间,存储逆序后的字符串。    char* p = newchar[sizeof(char) * (q - s + 2)] ;    char* r = p ;    // 逆序存储    while(q >= s)        *p++ = *q-- ;    *p = '\0' ;    return r ; }

3

设置两个指针,分别指向字符串的头部和尾部,然后交换两个指针所指的字符,并向中间移动指针直到交叉。

4

char* Reverse(char* s) {    // p指向字符串头部    char* p = s ;    // q指向字符串尾部    char* q = s ;    while( *q )        ++q ;    q -- ;    // 交换并移动指针,直到p和q交叉    while(q > p)    {        char t = *p ;        *p++ = *q ;        *q-- = t ;    }    return s ; }

5

对字符串s在区间left和right之间进行逆序,递归法void Reverse( char* s, int left, int right ) {    if(left >= right)        return;    char t = s[left] ;    s[left] = s[right] ;    s[right] = t ;    Reverse(s, left + 1, right - 1) ;

6

对字符串str在区间left和right之间进行逆序char* Reverse( char* s, int left, int right ) {    while( left < right )    {        char t = s[left] ;        s[left++] = s[right] ;        s[right--] = t ;    }    return s ; }

注意事项

以上就是小编带给大家的如何操作的关键所在,如果觉得本经验对你们有帮助,请点击正下方的或者是右上角的“大拇指”或分享或“关注TA”给小编我进行一点小小的支持。大家也可以下面发表一下自己的看法。(未经同意,谢绝转载或复制)

推荐信息