【STL】reverse()函数

函数功能:将序列[first,last)的元素在原容器中颠倒重排,包含在algorithm库中。

  • reverse()函数无返回值,时间复杂度O(n)。
  • 可以看到函数中是last是先减一。应当理解的是vector.end()是指向数组最后一个元素后面的位置。
  • reverse(v.begin(), v.end())即可实现全数组的反转。

reverse的random access iterator版

template<class RandomAccessIterator>
void __reverse(RandomAccessIterator first, RandomAccessIterator last, random_access_iterator_tag)
{
    while(first < last)
        iter_swap(first++, --last);
}

运用实例:
Leetcode 969. Pancake Sorting
参考书籍

  • 《STL源码剖析》
posted @ 2019-01-07 20:09  我的小叮当  阅读(877)  评论(0编辑  收藏  举报