STL--list(雙向鏈表)

目錄

一、list 對象創建

1、默認構造函數

2、初始化列表

3、迭代器

4、全0初始化

5、全值初始化

6、拷貝構造函數

二、list 賦值操作

1、=賦值

2、assign(迭代器1,迭代器2)

3、assign(初始化列表)

4、assign(a個b)

三、list 大小操作

1、判空

2、大小

3、調整大小

四、數據插入

1、頭插

2、尾插

3、insert函數(與deque、vector類似)

五、list 數據刪除

1、頭刪

2、尾刪

3、erase函數(與deque、vector類似)

4、清空

六、list 數據訪問

首元素:l.front();

尾元素:l.back();

自定義依據下標訪問數據函數

七、list 鏈表反轉

八、list 鏈表排序


一、list 對象創建

1、默認構造函數

? ? ? ? ?list<int> l1;

2、初始化列表

? ? ? ? ①list<int> l2_1={1,2,3,4,5};

? ? ? ? ②list<int> l2_2({1,2,3,4,5});

3、迭代器

? ? ? ? list<int> l3(l2_1.begin(),l2_2.end());

4、全0初始化

? ? ? ? list<int> l4(8);

5、全值初始化

????????list<int> l5(8,6);

6、拷貝構造函數

? ? ? ? list<int> l6(l5);

二、list 賦值操作

list<int> l={1,2,3,4,5};

1、=賦值

? ? ? ? l1=l;

2、assign(迭代器1,迭代器2)

? ? ? ? l2.assign(l.begin(),l.end());

3、assign(初始化列表)

? ? ? ? l3.assign({1,2,3,4,5});

4、assign(a個b)

? ? ? ? l4.assign(a,b);

三、list 大小操作

1、判空

? ? ? ? l.empty();

2、大小

? ? ? ? l.size();

3、調整大小

? ? ? ? ①l.resize(n);? ? ? ? 將大小調整為n,空余以0代替

? ? ? ? ②l.resize(n,a);?????????????將大小調整為n,空余以a代替

四、數據插入

1、頭插

? ? ? ? l.push_front();

2、尾插

? ? ? ? l.push_back();

3、insert函數(與deque、vector類似)

? ? ? ? ①l.insert(迭代器,值);

? ? ? ? ②l.insert(迭代器,數,值);

? ? ? ? ③l.insert(迭代器1,迭代器2,迭代器3);

五、list 數據刪除

1、頭刪

? ? ? ? pop_front();

2、尾刪

? ? ? ? pop_back();

3、erase函數(與deque、vector類似)

? ? ? ? ①erase(迭代器);

? ? ? ? ②erase(迭代器1,迭代器2);

4、清空

? ? ? ? clear();

六、list 數據訪問

list不支持隨機訪問,如[下標]、at函數

list的迭代器list<T>::iterator支持++操作,卻不支持+1或+7等等操作

首元素:l.front();

尾元素:l.back();

自定義依據下標訪問數據函數

int getListItemByIndex(list<int>& l, int index)
{list<int>::iterator it = l.begin();while (index--)it++;return *it;
}

七、list 鏈表反轉

? ? ? ? l.reverse();

八、list 鏈表排序

? ? ? ? l.sort();?

與<algorithm>中sort類似。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66582.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66582.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66582.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【語言處理和機器學習】概述篇(基礎小白入門篇)

前言 自學筆記&#xff0c;分享給語言學/語言教育學方向的&#xff0c;但對語言數據處理感興趣但是尚未入門&#xff0c;卻需要在論文中用到的小伙伴&#xff0c;歡迎大佬們補充或繞道。ps&#xff1a;本文不涉及公式講解&#xff08;文科生小白友好體質&#xff09;&#xff…

小程序獲取微信運動步數

1、用戶點擊按鈕&#xff0c;在小程序中觸發getuserinfo方法&#xff0c;獲取用戶信息 <scroll-view class"scrollarea" scroll-y type"list"><view class"container"><button bind:tap"getLogin">獲取</button&…

leetcode——找到字符串中所有字母異位詞(java)

給定兩個字符串 s 和 p&#xff0c;找到 s 中所有 p 的 異位詞 的子串&#xff0c;返回這些子串的起始索引。不考慮答案輸出的順序。 示例 1: 輸入: s "cbaebabacd", p "abc" 輸出: [0,6] 解釋: 起始索引等于 0 的子串是 "cba", 它是 "…

LDN的藍牙雙模鍵盤幫助文檔

文檔索引 已支持的PCB列表(僅列出少部分)&#xff1a;鍵盤特性硬件軟件鍵盤以及驅動藍牙模式USB模式 驅動功能介紹主界面鍵盤列表頁面鍵盤配置&#xff08;使用雙模鍵盤的請務必細看本說明&#xff09;功能層配置(改鍵)觸發層配置(改FN鍵等觸發功能)功能選擇&#xff08;重要&a…

STM32 FreeRTOS 信號量

信號量的簡介 reeRTOS中的信號量是一種用于任務間同步和資源管理的機制。信號量可以是二進制的&#xff08;只能取0或1&#xff09;也可以是計數型的&#xff08;可以是任意正整數&#xff09;。信號量的基本操作包括“獲取”和“釋放”。 比如動車上的衛生間&#xff0c;一個…

Android SystemUI——系統快捷設置面板(十三)

通過前面的內容我們了解了 SystemUI 的啟動流程以及相關組件的加載流程,同時也詳細介紹了導航欄的創建和加載流程,對于 SystemUI 的組件來說,除了導航欄之外,下拉快捷設置面板也是比較重要的一個組件。 一、快捷設置面板 快捷設置面板(Quick Settings, QS)是 Android 系…

C 語言雛啟:擘畫代碼乾坤,諦觀編程奧宇之初瞰

大家好啊&#xff0c;我是小象?(?ω?)? 我的博客&#xff1a;Xiao Xiangζ????? 很高興見到大家&#xff0c;希望能夠和大家一起交流學習&#xff0c;共同進步。* 這一課主要是讓大家初步了解C語言&#xff0c;了解我們的開發環境&#xff0c;main函數&#xff0c;庫…

VSCode下EIDE插件開發STM32

VSCode下STM32開發環境搭建 本STM32教程使用vscode的EIDE插件的開發環境&#xff0c;完全免費&#xff0c;有管理代碼文件的界面&#xff0c;不需要其它IDE。 視頻教程見本人的 VSCodeEIDE開發STM32 安裝EIDE插件 Embedded IDE 嵌入式IDE 這個插件可以幫我們管理代碼文件&am…

Linux內核編程(二十一)USB驅動開發

一、驅動類型 USB 驅動開發主要分為兩種&#xff1a;主機側的驅動程序和設備側的驅動程序。一般我們編寫的都是主機側的USB驅動程序。 主機側驅動程序用于控制插入到主機中的 USB 設備&#xff0c;而設備側驅動程序則負責控制 USB 設備如何與主機通信。由于設備側驅動程序通常與…

論文筆記-arXiv2025-A survey about Cold Start Recommendation

論文筆記-arXiv2025-Cold-Start Recommendation towards the Era of Large Language Models: A Comprehensive Survey and Roadmap 面向大語言模型&#xff08;LLMs&#xff09;時代的冷啟動推薦&#xff1a;全面調研與路線圖1.引言2.前言3.內容特征3.1數據不完整學習3.1.1魯棒…

C#使用WMI獲取控制面板中安裝的所有程序列表

C#使用WMI獲取控制面板中安裝的所有程序列表 WMI 全稱Windows Management Instrumentation,Windows Management Instrumentation是Windows中用于提供共同的界面和對象模式以便訪問有關操作系統、設備、應用程序和服務的管理信息。如果此服務被終止&#xff0c;多數基于 Windo…

風光并網對電網電能質量影響的matlab/simulink仿真建模

這個課題早在一幾年的時候比較熱門&#xff0c;之前作電科院配電網的一個項目中也有所涉及&#xff0c;我把其中一部分經典仿真模型思路分享給大家&#xff0c;電能質量影響這部分&#xff0c;我在模型中主要體現的就是不同容量的光伏、風電接入&#xff0c;對并網點的電壓影響…

Ubuntu 24.04 LTS linux 文件權限

Ubuntu 24.04 LTS 文件權限 讀權限 &#xff1a;允許查看文件的內容。寫權限 (w)&#xff1a;允許修改文件的內容。執行權限 (x)&#xff1a;允許執行文件&#xff08;對于目錄來說&#xff0c;是進入目錄的權限&#xff09;。 文件權限通常與三類用戶相關聯&#xff1a; 文…

第13章:Python TDD完善貨幣加法運算(二)

寫在前面 這本書是我們老板推薦過的&#xff0c;我在《價值心法》的推薦書單里也看到了它。用了一段時間 Cursor 軟件后&#xff0c;我突然思考&#xff0c;對于測試開發工程師來說&#xff0c;什么才更有價值呢&#xff1f;如何讓 AI 工具更好地輔助自己寫代碼&#xff0c;或許…

.Net Core微服務入門全紀錄(六)——EventBus-事件總線

系列文章目錄 1、.Net Core微服務入門系列&#xff08;一&#xff09;——項目搭建 2、.Net Core微服務入門全紀錄&#xff08;二&#xff09;——Consul-服務注冊與發現&#xff08;上&#xff09; 3、.Net Core微服務入門全紀錄&#xff08;三&#xff09;——Consul-服務注…

C#防止重復提交

C#防止重復提交 文章目錄 C#防止重復提交前言防止重復提交的思路Web API 防止重復提交代碼實現代碼講解使用方法 MVC防止重復提交總結 前言 當用戶在前端進行提交數據時&#xff0c;如果網絡出現卡頓和前端沒有給出響應的話顧客通常都會狂點提交按鈕&#xff0c;這樣就很容易導…

python學opencv|讀取圖像(三十九 )閾值處理Otsu方法

【1】引言 前序學習了5種閾值處理方法&#xff0c;包括(反)閾值處理、(反)零值處理和截斷處理&#xff0c;還學習了一種自適應處理方法&#xff0c;相關文章鏈接為&#xff1a; python學opencv|讀取圖像&#xff08;三十三&#xff09;閾值處理-灰度圖像-CSDN博客 python學o…

嵌入式硬件篇---PID控制

文章目錄 前言第一部分&#xff1a;連續PID1.比例&#xff08;Proportional&#xff0c;P&#xff09;控制2.積分&#xff08;Integral&#xff0c;I&#xff09;控制3.微分&#xff08;Derivative&#xff0c;D&#xff09;控制4.PID的工作原理5..實質6.分析7.各種PID控制器P控…

日志收集Day001

1.ElasticSearch 作用&#xff1a;日志存儲和檢索 2.單點部署Elasticsearch與基礎配置 rpm -ivh elasticsearch-7.17.5-x86_64.rpm 查看配置文件yy /etc/elasticsearch/elasticsearch.yml&#xff08;這里yy做了別名&#xff0c;過濾掉空行和注釋行&#xff09; yy /etc/el…

集合帖:前綴和及差分模板題 ← 一維及二維

【一維前綴和及一維差分知識點】 ● 一維“前綴和數組”預處理過程&#xff1a;cin>>a[i], sum[i]sum[i-1]a[i] 或者 cin>>sum[i], sum[i]sum[i-1] &#xff08;1≤i≤n&#xff09; ● 一維“區間和”計算過程&#xff1a;sum[y]-sum[x-1] &#xff08;y…