std::reverse
来自cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Defined in header <algorithm>
|
||
| template< class BidirIt > void reverse( BidirIt first, BidirIt last ); |
||
的范围内
[first, last)中的元素的顺序反转.Original:
Reverses the order of the elements in the range
[first, last).The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目录 |
[编辑] 参数
| first, last | - | 扭转的元素范围
Original: the range of elements to reverse The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| Type requirements | ||
-BidirIt must meet the requirements of BidirectionalIterator.
| ||
-The type of dereferenced BidirIt must meet the requirements of Swappable.
| ||
[编辑] 返回值
(无)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[编辑] 可能的实现
template<class BidirIt> void reverse(BidirIt first, BidirIt last) { while ((first != last) && (first != --last)) { std::swap(*first++, *last); } } |
[编辑] 为例
#include <vector> #include <iostream> #include <algorithm> int main(int argc, char** argv) { std::vector<int> v({1,2,3}); std::reverse(std::begin(v), std::end(v)); std::cout << v[0] << v[1] << v[2] << '\n'; int a[] = {4, 5, 6, 7}; std::reverse(&a[0], &a[4]); std::cout << a[0] << a[1] << a[2] << a[3] << '\n'; }
Output:
321 7654
[编辑] 复杂性
线性
first和last之间的距离Original:
linear in the distance between
first and lastThe text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[编辑] 另请参阅
| 是相反的范围内创建的副本 Original: creates a copy of a range that is reversed The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (函数模板) | |