迭代器的使用

2021-07-24 17:38:48 字數 1973 閱讀 4460

參考:

stl中的迭代器有五種型別,不同的容器可支援不同的迭代器

1.vector,支援隨機迭代器

#include

#include

#include

using

namespace

std;

int main()

cout

<< endl;

}cout

<< endl;

vector

::iterator iter1=charvector.begin();;

//iter1 += 2;//vector支援隨機迭代器,可遞增n位或遞減n位

//cout << *iter1;

cout

<< iter1[2];//同上兩行**得到的結果一樣

cout

<< endl;

system("pause");

return

0;}

2.deque,支援隨機迭代器

#include

#include

#include

using

namespace

std;

//deque也支援隨機迭代器

int main()

cout

<< endl;

}system("pause");

return

0;}

3.list,支援雙向迭代器

#include

#include

#include

using

namespace

std;

//list並不支援隨機迭代器,支援雙向迭代器,不可遞增或遞減n位

int main()

cout

<< endl;

list

::iterator start = charlist.begin();

charlist.insert(++start, 5, 'x');

for (iter = charlist.begin(); iter != charlist.end(); iter++)

cout

<< endl;

list

::iterator iter1=--charlist.end();//list容器提供雙向迭代器,可前置自減或後置自減

cout

<< *iter1;

cout

<< endl;

system("pause");

return

0;}

4.自適應容器stack和queue不支援迭代器。

#include

#include

#include

#include

using

namespace

std;

int main()

cout

<< endl;

int size = intstack.size();

for (int x = 0; x < size; x++)

system("pause");

return

0;}

#include

#include

#include

#include

using

namespace

std;

int main()

cout

<< endl;

int size = intqueue.size();

for (int x = 0; x < size; x++)

system("pause");

return

0;}

迭代器的使用

先看下面的例子 vector 的元素刪除 話頭從 container 的元素刪除說起。jyhuang 觀察到 如果 vector 或 list 的最後乙個元素符合刪除條件,程式會有問題 他給我這樣乙個片段 template void print elements t elem void pfi in...

迭代器的使用

迭代器 iterator 有時又稱游標 cursor 是程式設計的軟體設計模式,他是專門為訪問容器而設計的一種資料結構,他實際是對訪問容器這一操作進行了封裝。也有一種說法是迭代器是指標的封裝。和智慧型指標有點相似。迭代器是一種物件,他用來遍歷標準模板庫容器中的部分或全部元素,每個迭代器物件代表容器中...

使用迭代器

建立迭代器最常用的方法是對 ienumerable 介面實現 getenumerator 方法,例如 c 複製 public system.collections.ienumerator getenumerator getenumerator 方法的存在使得型別成為可列舉的型別,並允許使用 fore...