C++逆序输出字符串

时间:2019-10-18
本文章向大家介绍C++逆序输出字符串,主要包括C++逆序输出字符串使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

使用库函数

//使用库函数 
#include <iostream>
#include <string>
#include <algorithm>

using namespace std;
int main()
{ 
    string str; 
    cin>>str;
    //调用reverse函数进行反转
    reverse(str.begin(), str.end()); 
    cout<<str<<endl; 
    return 0;
}

手写函数实现(常规思路)

#include<iostream> 
#include <string.h>
using namespace std;

void Reverse(char *str)
{
    if(NULL == str)
    {
        return ;
    }
    char *pBegin = str;
    char *pEnd   = str + strlen(str) - 1;
    char tmp;
    while(pBegin < pEnd)
    {
        tmp = *pBegin;
        *pBegin = *pEnd;
        *pEnd = tmp;
        pBegin ++, pEnd --;
    }
}
 
int main()
{
    char str[] = "123456789";
    cout<<str<<endl;
    Reverse(str);
    cout<<str<<endl;
}

使用递归

如果要的是简单的逆向输出的话,可以和链表的反向输出一样,使用递归或栈,下面是递归的实现。

#include <iostream>
using namespace std; 

void Reverse(char *p)
{
    if('\0' != *p)  
    {
        Reverse(p + 1);  
        cout<<*p<<" ";         
    }
}
  
int main()  
{
    char *string = "1234567";  
    Reverse(string);  
    cout<<endl;  
}

原文地址:https://www.cnblogs.com/clwsec/p/11698891.html