zoukankan      html  css  js  c++  java
  • C++ STL 逆转旋转 reverse reverse_copy rotate

    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <iterator>

    using namespace std;

    int main()
    {
      vector<int> vec1;
      for (int k=0;k<10;k++)
      {
        vec1.push_back(k);
      }

      vector<int>::iterator vec_iter1;
      for (vec_iter1 = vec1.begin();vec_iter1 != vec1.end();++vec_iter1)
      {
        cout << *vec_iter1 << " ";
      }
      cout << endl;
      cout << "---------------------------------------" << endl;

      //逆转
      reverse(vec1.begin(), vec1.end());

      for (vec_iter1 = vec1.begin(); vec_iter1 != vec1.end(); ++vec_iter1)
      {
        cout << *vec_iter1 << " ";
      }
      cout << endl;
      cout << "---------------------------------------" << endl;

      vector<int> vec2;
      reverse_copy(vec1.begin(), vec1.end(), ostream_iterator<int>(cout," "));
      cout << endl;
      cout << "---------------------------------------" << endl;

      //旋转
      rotate(vec1.begin(), vec1.begin() + 5, vec1.end());

      for (vec_iter1 = vec1.begin(); vec_iter1 != vec1.end(); ++vec_iter1)
      {
        cout << *vec_iter1 << " ";
      }
      cout << endl;
      cout << "---------------------------------------" << endl;

      rotate(vec1.begin(), find(vec1.begin(), vec1.end(), 9), vec1.end());

      for (vec_iter1 = vec1.begin(); vec_iter1 != vec1.end(); ++vec_iter1)
      {
        cout << *vec_iter1 << " ";
      }
      cout << endl;
      cout << "---------------------------------------" << endl;


      system("pause");
      return 0;
    }

    =====================================================

    0 1 2 3 4 5 6 7 8 9
    ---------------------------------------
    9 8 7 6 5 4 3 2 1 0
    ---------------------------------------
    0 1 2 3 4 5 6 7 8 9
    ---------------------------------------
    4 3 2 1 0 9 8 7 6 5
    ---------------------------------------
    9 8 7 6 5 4 3 2 1 0
    ---------------------------------------
    请按任意键继续. . .

  • 相关阅读:
    C#开发: 通信篇-串口调试助手
    C#开发: 准备工作-C# 新建工程
    C#开发: 准备工作-Visual Studio 安装
    ESP8266 SDK开发: 外设篇-串口
    ESP8266 SDK开发: 外设篇-定时器,延时
    ESP8266 SDK开发: 外设篇-GPIO中断检测
    【java编程】加载Resources配置文件的方法
    【java高级编程】jdk自带事件模型编程接口
    【mybatis源码学习】mybtias知识点
    【java编程-Javassist】秒懂Java动态编程(Javassist研究)
  • 原文地址:https://www.cnblogs.com/herd/p/11011743.html
Copyright © 2011-2022 走看看