zoukankan      html  css  js  c++  java
  • 逆转字符串——输入一个字符串,将其逆转并输出。

    首先这里的问题在于如何使用逆转的字符串,这里有很多实现的方法:
    1,使用数组进行逆转。
    1. #include <iostream>
    2. #include <string>
    3. using namespace std;

    4. int main(int argc, char const *argv[])
    5. {
    6. string s;
    7. cin>>s;
    8. for (int i = s.size()-1; i >= 0; --i)
    9. {
    10. cout<<s[i];
    11. }
    12. cout<<endl;
    13. return 0;
    14. }
    2,使用#include <algorithm>reverse(s.begin(),s.end())函数进行字符串翻转。
    1. #include <iostream>
    2. #include <string>
    3. #include <algorithm>
    4. using namespace std;

    5. int main(int argc, char const *argv[])
    6. {
    7. string s;
    8. cin>>s;
    9. reverse(s.begin(),s.end());
    10. cout<<s<<endl;
    11. return 0;
    12. }
    3,使用string::reverse_iterator迭代器进行迭代使用。
    1. #include <iostream>
    2. #include <string>
    3. using namespace std;
    4. int main(int argc, char const *argv[])
    5. {
    6. string str="sdfghjkl";
    7. string::reverse_iterator rIt = str.rbegin();
    8. while (rIt != str.rend())
    9. {
    10. cout << *rIt;
    11. rIt++;
    12. }
    13. return 0;
    14. }
    改写成for形式。
    1. #include <iostream>
    2. #include <string>
    3. using namespace std;
    4. int main(int argc, char const *argv[])
    5. {
    6. string str;
    7. cin>>str;
    8. string::reverse_iterator rIt ;
    9. for (rIt = str.rbegin(); rIt != str.rend(); ++rIt)
    10. {
    11. cout << *rIt;
    12. }
    13. return 0;
    14. }
    总结:
        1,对于反转字符串来说,使用数组需要注意下标;
        2,使用reverse()函数是最方便的,这个算法还可以使用在其他的标准STL容器中,可以说是挺强大的;
        3,使用迭代器的时候有两种迭代器,其中分别是正向迭代器和反向迭代器,这里使用了反向迭代器string::reverse_iterator rIt ;正向迭代器是string::iterator rIt ;










  • 相关阅读:
    创建一个简单的图片服务器
    spring-boot系列:初试spring-boot
    java的动态代理机制
    jedis连接池详解(Redis)
    使用logback.xml配置来实现日志文件输出
    redis在mac上的安装
    理解RESTful架构
    分布式应用框架Akka快速入门
    [Java基础]Java通配符
    Mac vim iterm2配色方案
  • 原文地址:https://www.cnblogs.com/clifff/p/5038568.html
Copyright © 2011-2022 走看看