1. 程式人生 > >【STL】reverse()函式

【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原始碼剖析》