reverse函式:反轉容器內容
阿新 • • 發佈:2019-01-22
reverse函式可以反轉一個容器中的內容,包含在<algorithm>庫中。
1、函式原型
reverse函式等同於下面的程式碼:
reverse函式使用iter_swap來交換兩個元素。template <class BidirectionalIterator> void reverse (BidirectionalIterator first, BidirectionalIterator last) { while ((first!=last)&&(first!=--last)) { std::iter_swap (first,last); ++first; } }
2、引數:first、last
first和last是雙向迭代器型別,reverse函式反轉的範圍是[first,last),所以包括first指向的元素,不包括last指向的元素。
3、返回值
reverse函式沒有返回值。
4、例子
// 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; }
輸出:
myvector contains: 9 8 7 6 5 4 3 2 1 |