首頁 > 後端開發 > C++ > 如何遍歷C++ STL容器?

如何遍歷C++ STL容器?

WBOY
發布: 2024-06-05 18:29:01
原創
419 人瀏覽過

要遍歷 STL 容器,可以使用容器的 begin() 和 end() 函數來取得迭代器範圍:向量:使用 for 迴圈遍歷迭代器範圍。鍊錶:使用 next() 成員函數遍歷鍊錶元素。映射:取得鍵值對迭代器,使用 for 迴圈遍歷。

如何遍历C++ STL容器?

如何遍歷C++ STL 容器

#遍歷C++ 標準模版庫(STL) 容器是程式設計師日常工作中必不可少的一項任務。 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 
登入後複製
登入後複製

遍歷STL 鍊錶

要遍歷一個鍊錶,我們可以使用鍊錶的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 
登入後複製
登入後複製

遍歷STL 映射

要遍歷一個映射,我們可以使用映射的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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板