c++ STL容器reverse如何使用

2025-10-26 23:00:50

1、头文件

如果想要使用reverse的话,必须要使用头文件

#include <algorithm>

c++ STL容器reverse如何使用

2、该容器内部的实现

调用了iter_swap实现了元素的互换:

template<classBidirectionalIterator>

void reverse (BidirectionalIterator first, BidirectionalIterator last) 

{

     while((first!=last)&&(first!=--last)) 

     {   

         std::iter_swap (first,last);    

        ++first; 

     }

 }

c++ STL容器reverse如何使用

3、该函数的调用语法

void reverse (BidirectionalIterator first, BidirectionalIterator last);

c++ STL容器reverse如何使用

4、参数

BidirectionalIterator first与BidirectionalIterator last分别是一个序列的起点和中点。类型是内嵌的Iterator型。

c++ STL容器reverse如何使用

5、举个代码例子演示:

// reverse algorithm example

#include <iostream>     // std::cout

#include <algorithm>    // std::reverse

#include <vector>       // std::vector

int main () {

  std::vector<int> myvector;

  // set some values:

  for (int i=1; i<10; ++i) myvector.push_back(i);   // 1 2 3 4 5 6 7 8 9

  std::reverse(myvector.begin(),myvector.end());    // 9 8 7 6 5 4 3 2 1

  // print out content:

  std::cout << "myvector contains:";

  for (std::vector<int>::iterator it=myvector.begin(); it!=myvector.end(); ++it)

    std::cout << ' ' << *it;

  std::cout << '\n';

  return 0;

}

c++ STL容器reverse如何使用

6、输出结果:

myvector contains: 9 8 7 6 5 4 3 2 1

c++ STL容器reverse如何使用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢