码迷,mamicode.com
首页 > 其他好文 > 详细

逆转字符串——输入一个字符串,将其逆转并输出。

时间:2015-12-11 13:04:26      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

首先这里的问题在于如何使用逆转的字符串,这里有很多实现的方法:
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 ;










逆转字符串——输入一个字符串,将其逆转并输出。

标签:

原文地址:http://www.cnblogs.com/clifff/p/5038568.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!