C 標準庫 Reverse(逆向)迭代器

2021-06-27 12:38:04 字數 650 閱讀 1581

reverse(逆向)迭代器

reverse迭代器是一種配接器,重新定義遞增遞減運算,使其行為正好倒置,這樣使迭代器以逆向來處理元素。

rbegin:傳回逆向遍歷的第乙個元素,也就是實際上最後乙個元素的位置;

rend:傳回逆向遍歷時最後乙個元素的下乙個位置,也就是實際上第乙個元素的前乙個位置;

**示例:

#include#include#include#includeusing namespace std;

void print(int elem)

list::iterator pos1=coll.begin();

list::iterator pos2=coll.end();

for_each(coll.begin(),coll.end(),print);

cout<::reverse_iterator rpos1(pos1);//將乙個迭代器轉換為逆向迭代器,原來那個迭代器必須具有雙向移動能力

list::reverse_iterator rpos2(pos2);

for_each(rpos2,rpos1,print);

cout<

1 2 3 4 5 6 7 8 9

9 8 7 6 5 4 3 2 1

9 8 7 6 5 4 3 2 1

C 標準庫 迭代器

迭代器是乙個 可遍歷stl容器內全部或部分元素 的物件。乙個迭代器用來指出容器中的乙個特定位置。operator 返回當前位置上的元素值 operator 和operator 判斷兩個迭代器是否指向同意位置 operator 為迭代器賦值。因為每個容器選擇的資料結構不同,所以每一種容器都必須提供自己...

C 標準庫之迭代器

迭代器是對指標進行進一步抽象的產物。迭代器是遍歷所有容器 序列 流的統一介面,是標準庫泛形演算法的基礎。迭代器根據其能力分為五種 category properties valid expressions all categories copy constructible copy assignab...

關於C 標準庫泛型演算法reverse的學習筆記

c primer中這樣描述reverse反向排列元素 乙個容器為9,8,7,6,5,4,3,2,1,0,sort後為0,1,2,3,4,5,6,7,8,9。乙個容器為0,1,2,3,4,5,6,7,8,9,sort後還為0,1,2,3,4,5,6,7,8,9。假設乙個容器為0,1,2,3,4,5,6...