要遍歷 STL 容器,可以使用容器的 begin() 和 end() 函數來取得迭代器範圍:向量:使用 for 迴圈遍歷迭代器範圍。鍊錶:使用 next() 成員函數遍歷鍊錶元素。映射:取得鍵值對迭代器,使用 for 迴圈遍歷。
如何遍歷C++ STL 容器
#遍歷C++ 標準模版庫(STL) 容器是程式設計師日常工作中必不可少的一項任務。 STL 提供了一系列預定義資料結構,如向量、鍊錶和映射,每個結構都有自己的遍歷方法。
要遍歷一個向量,我們可以使用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; }
輸出:
Apple: 1 Banana: 2 Cherry: 3 Apple: 1 Banana: 2 Cherry: 3
以上是如何遍歷C++ STL容器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!