亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索

c++怎么使用list容器_c++ list容器用法與遍歷方法

裘德小鎮(zhèn)的故事
發(fā)布: 2025-10-16 19:25:02
原創(chuàng)
266人瀏覽過
list是STL中的雙向鏈表,支持高效插入刪除但不支持隨機訪問,需通過迭代器或范圍for循環(huán)遍歷,常用操作包括push_back、push_front、erase等,適合頻繁修改的場景。

c++怎么使用list容器_c++ list容器用法與遍歷方法

在C++中,list 是 STL(標(biāo)準模板庫)提供的一個雙向鏈表容器,位于 <list> 頭文件中。它支持高效地在任意位置插入和刪除元素,但不支持隨機訪問。下面介紹 list 的基本用法和常見的遍歷方法。

1. 包含頭文件并聲明 list 容器

使用 list 前必須包含對應(yīng)的頭文件:

#include <list>
#include <iostream>

聲明一個 list 容器的常見方式:

std::list<int> my_list; // 存儲 int 類型的 list
std::list<string> name_list; // 存儲 string 類型的 list

2. 常用操作方法

list 提供了豐富的成員函數(shù)來操作數(shù)據(jù):

立即學(xué)習(xí)C++免費學(xué)習(xí)筆記(深入)”;

  • push_back(x):在末尾添加元素 x
  • push_front(x):在開頭添加元素 x
  • pop_back():刪除最后一個元素
  • pop_front():刪除第一個元素
  • insert(pos, x):在迭代器 pos 指向的位置前插入 x
  • erase(pos):刪除迭代器 pos 指向的元素
  • clear():清空所有元素
  • size():返回元素個數(shù)
  • empty():判斷是否為空

示例代碼:

my_list.push_back(10);
my_list.push_front(5);
my_list.push_back(20);
// 此時 list 中元素為:5 → 10 → 20

3. 遍歷 list 容器的方法

由于 list 不支持下標(biāo)訪問,必須通過迭代器或范圍 for 循環(huán)來遍歷。

法語寫作助手
法語寫作助手

法語助手旗下的AI智能寫作平臺,支持語法、拼寫自動糾錯,一鍵改寫、潤色你的法語作文。

法語寫作助手31
查看詳情 法語寫作助手

方法一:使用正向迭代器

for (std::list<int>::iterator it = my_list.begin(); it != my_list.end(); ++it) {
????std::cout << *it << " ";
}

方法二:使用 const_iterator(適用于只讀訪問)

for (std::list<int>::const_iterator it = my_list.cbegin(); it != my_list.cend(); ++it) {
????std::cout << *it << " ";
}

方法三:C++11 范圍 for 循環(huán)(推薦,簡潔)

for (const auto& value : my_list) {
????std::cout << value << " ";
}

方法四:反向遍歷(從后往前)

for (auto rit = my_list.rbegin(); rit != my_list.rend(); ++rit) {
????std::cout << *rit << " ";
}

4. 實際例子:完整演示

#include <iostream>
#include <list>
using namespace std; int main() {
????list<int> nums;
????nums.push_back(1);
????nums.push_front(0);
????nums.push_back(2);
????cout << "正向遍歷: ";
????for (const auto& n : nums) {
????????cout << n << " ";
????}
????cout << endl; ????cout << "反向遍歷: ";
????for (auto rit = nums.rbegin(); rit != nums.rend(); ++rit) {
????????cout << *rit << " ";
????}
????cout << endl; ????return 0;
}

輸出結(jié)果:

正向遍歷: 0 1 2
反向遍歷: 2 1 0

基本上就這些。list 適合頻繁插入刪除的場景,但若需要快速訪問第 N 個元素,建議使用 vector。掌握迭代器和范圍 for 循環(huán)是使用 list 的關(guān)鍵。不復(fù)雜但容易忽略細節(jié),比如不能用下標(biāo)直接訪問。

以上就是c++++怎么使用list容器_c++ list容器用法與遍歷方法的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!

c++速學(xué)教程(入門到精通)
c++速學(xué)教程(入門到精通)

c++怎么學(xué)習(xí)?c++怎么入門?c++在哪學(xué)?c++怎么學(xué)才快?不用擔(dān)心,這里為大家提供了c++速學(xué)教程(入門到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!

下載
來源:php中文網(wǎng)
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn
最新問題
開源免費商場系統(tǒng)廣告
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號