当前位置:   article > 正文

C++-vector:vector容器的逆置【函数:reverse(v.begin(), v.end())】_vector reverse

vector reverse

一、函数reverse()

第一种是利用头文件<algorithm>中的函数reverse进行容器的逆置,要注意包含头文件;

  1. //第一种
  2. reverse(m.begin(), m.end());
  3. for (vector<int>::iterator it = m.begin(); it != m.end(); it++){
  4. answer1 = (*it)+answer1*10;
  5. }

二、for遍历

第二种利用的是逆置迭代器,要注意逆置迭代器的初始化;

  1. //第二种
  2. for (vector<int>::reverse_iterator it = m.rbegin(); it != m.rend(); it++){
  3. answer2 = (*it) + answer2 * 10;
  4. }
  1. //第二种【用auto自动推导】
  2. for (auto it = m.rbegin(); it != m.rend(); it++){
  3. answer2 = (*it) + answer2 * 10;
  4. }

三、全部代码

  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5. int main(){
  6. int a = 0, d = 0, answer1 = 0, mod = 0, answer2 = 0;
  7. vector<int> m;
  8. cout << "Please input the number :" << endl;
  9. cin >> a;
  10. cout << "Please input the scale :" << endl;
  11. cin >> d;
  12. while (a){
  13. mod = a%d;
  14. a = a / d;
  15. m.push_back(mod);
  16. }
  17. //第一种
  18. reverse(m.begin(), m.end());
  19. for (vector<int>::iterator it = m.begin(); it != m.end(); it++){
  20. answer1 = (*it)+answer1*10;
  21. }
  22. //第二种
  23. for (vector<int>::reverse_iterator it = m.rbegin(); it != m.rend(); it++){
  24. answer2 = (*it) + answer2 * 10;
  25. }
  26. cout << answer1 << endl;
  27. cout << answer2 << endl;
  28. }




C++中vector容器的逆序遍历访问 – 星辰的博客

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/390786
推荐阅读
相关标签
  

闽ICP备14008679号