Um über einen STL-Container zu iterieren, können Sie die Funktionen begin() und end() des Containers verwenden, um den Iteratorbereich abzurufen: Vektor: Verwenden Sie eine for-Schleife, um über den Iteratorbereich zu iterieren. Verknüpfte Liste: Verwenden Sie die Memberfunktion next(), um die Elemente der verknüpften Liste zu durchlaufen. Zuordnung: Holen Sie sich einen Iterator von Schlüssel-Wert-Paaren und verwenden Sie zum Durchlaufen eine for-Schleife.
So durchlaufen Sie einen C++-STL-Container
Das Durchlaufen eines C++-Standard-Template-Library-Containers (STL) ist eine wesentliche Aufgabe in der täglichen Arbeit von Programmierern. STL bietet eine Reihe vordefinierter Datenstrukturen wie Vektoren, verknüpfte Listen und Karten mit jeweils eigenen Traversierungsmethoden.
Um über einen Vektor zu iterieren, können wir die Funktionen begin()
und end()
verwenden, um den Iteratorbereich abzurufen: begin()
和 end()
函数获得迭代器范围:
#include <vector> int main() { std::vector<int> v = {1, 2, 3, 4, 5}; // 使用基于范围的 for 循环 for (int num : v) { std::cout << num << " "; } std::cout << std::endl; // 使用迭代器 for (std::vector<int>::iterator it = v.begin(); it != v.end(); ++it) { std::cout << *it << " "; } std::cout << std::endl; return 0; }
输出:
1 2 3 4 5 1 2 3 4 5
要遍历一个链表,我们可以使用链表的 front()
和 back()
函数以及该链表的 next()
成员函数:
#include <list> int main() { std::list<int> l = {1, 2, 3, 4, 5}; // 使用基于范围的 for 循环 for (int num : l) { std::cout << num << " "; } std::cout << std::endl; // 使用迭代器 std::list<int>::iterator it = l.begin(); while (it != l.end()) { std::cout << *it << " "; it = it->next(); } std::cout << std::endl; return 0; }
输出:
1 2 3 4 5 1 2 3 4 5
要遍历一个映射,我们可以使用映射的 begin()
和 end()
#include <map> int main() { std::map<std::string, int> m = {{"Apple", 1}, {"Banana", 2}, {"Cherry", 3}}; // 使用基于范围的 for 循环 for (auto const& [key, value] : m) { std::cout << key << ": " << value << std::endl; } std::cout << std::endl; // 使用迭代器 for (std::map<std::string, int>::iterator it = m.begin(); it != m.end(); ++it) { std::cout << it->first << ": " << it->second << std::endl; } return 0; }
Ausgabe :
Apple: 1 Banana: 2 Cherry: 3 Apple: 1 Banana: 2 Cherry: 3
front()
und back()
der verknüpften Liste und die Funktion next() Mitgliedsfunktion: 🎜rrreee🎜🎜Ausgabe: 🎜🎜rrreee🎜STL-Zuordnungen durchlaufen🎜🎜Um eine Zuordnung zu durchlaufen, können wir den begin()
der Zuordnung verwenden > und end() code> Funktion ruft den Iterator von Schlüssel-Wert-Paaren ab: 🎜rrreee🎜🎜Ausgabe: 🎜🎜rrreee
Das obige ist der detaillierte Inhalt vonWie iteriere ich über einen C++-STL-Container?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!