C++ reverse函式的用法
阿新 • • 發佈:2020-12-01
逆序(反轉)無論是在 C 或是 C++ 中用的都特別多,常用於陣列,字串,容器等,其本身的函式引數也不復雜。
標準 C 中是沒有recerse()
函式的,這是C++的一個新增函式,使用需要包含標頭檔案
#include <algorithm>
reverse 函式用於反轉在 [first,last) 範圍內的順序(左閉右開),reverse()
沒有返回值
template <class BidirectionalIterator> void reverse (BidirectionalIterator first,BidirectionalIterator last);
例如,交換 vector 容器中元素的順序
vector<int> v = {5,4,3,2,1};
reverse(v.begin(),v.end());//v的值為1,2,3,4,5
還有 string 類的字串
string str="www.wmathor.com";
reverse(str.begin(),str.end());//str結果為moc.rohtamw.wwww
最後給出函式原型,該函式等價於通過呼叫 iter_swap 來交換元素位置
template <class BidirectionalIterator> void reverse (BidirectionalIterator first, BidirectionalIterator last) { while ((first!=last)&&(first!=--last)) { std::iter_swap (first,last); ++first; } }