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 ;










  • 相关阅读:
    39)自定义String类(没看)
    37)智能指针(就是自动delete空间)
    36)友元函数和重载操作符 (没看) 可以看视频
    35)类和结构体类比---this
    34)static 静态成员和静态成员函数
    33)new和delete关键字
    32)(典型)构造和析构 拷贝构造 小样例
    31)类中成员初始化
    30)构造函数的初始化列表
    29)深拷贝和浅拷贝
  • 原文地址:https://www.cnblogs.com/clifff/p/5038568.html
Copyright © 2011-2022 走看看