list使用及模擬

01. list介紹

  1. list是支持常數時間內任意位置插入刪除的序列容器,具備雙向迭代能力。
  2. 其底層為雙向鏈表結構,各元素存于獨立節點,通過指針指向前后元素。
  3. 與forward_list的主要區別:后者是單鏈表,僅支持單向迭代,結構更簡單高效。
  4. 相比array、vector、deque等序列容器,list在任意位置插入/刪除元素的效率更優。
  5. 缺陷:不支持隨機訪問(如訪問第6個元素需線性迭代),且因節點存儲額外信息,對存儲小元素的大列表可能更占空間。

在這里插入圖片描述


02. list使用

2.1 list構造器

在這里插入圖片描述

void printlist(const list<int>&li,const string&name){cout << name << " ";list<int> tmp = li;if(tmp.empty()){//不空往下走cout << "empty" << endl;return ;}while (!tmp.empty()){cout << tmp.front() << " ";tmp.pop_front();}cout << endl;
}
int main()
{list<int> l1(2, 5);list<int> l2;list<int> l3(l1);list<int> l4(l1.begin(), l1.end());printlist(l1, "l1:");printlist(l2, "l2:");printlist(l3, "l3:");printlist(l4, "l4:");system("pause");return 0;
}

2.2 list迭代器

int main()
{list<int> l1;l1.push_back(1);l1.push_back(2);l1.push_back(3);l1.push_back(4);list<int>::iterator it = l1.begin();while (it!=l1.end()){cout << *it << "  ";it++;}cout << endl;list<int>::reverse_iterator rit = l1.rbegin();while (rit!=l1.rend()){cout << *rit << "  ";rit++;}

2.3 元素訪問接口
函數聲明接口說明
front()返回鏈表首元素的引用
back()返回鏈表尾元素的引用

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

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

相關文章

NLP基礎與詞嵌入:讓AI理解文字(superior哥深度學習系列第13期)

13_NLP基礎與詞嵌入&#xff1a;讓AI理解文字 superior哥深度學習系列第十三篇 從像素到文字&#xff0c;從視覺到語言——讓AI跨越認知的橋梁 &#x1f3af; 前言&#xff1a;當AI學會"讀懂"文字 各位小伙伴們&#xff0c;歡迎來到superior哥深度學習系列的第十三篇…

【時時三省】(C語言基礎)關于變量的聲明和定義

山不在高&#xff0c;有仙則名。水不在深&#xff0c;有龍則靈。 ----CSDN 時時三省 可能有些人弄不清楚定義與聲明有什么區別&#xff0c;它們是否是一回事。有人認為聲明就是定義&#xff0c;有人認為只有賦了值的才是定義。在C語言的學習中&#xff0c;關于定義與聲明這兩個…

Java 時間處理指南:從“踩坑”到“填坑”實戰

&#x1f525;「炎碼工坊」技術彈藥已裝填&#xff01; 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 場景問題&#xff1a;訂單處理系統的時間計算 假設你正在開發一個電商訂單系統&#xff0c;需要解決以下問題&#xff1a; 用戶下單后&#xff0c;需在…

基于Java的Excel列數據提取工具實現

摘要&#xff1a;本文介紹了一個使用Java語言開發的Excel列數據提取工具&#xff0c;該工具借助Apache POI庫實現對Excel文件的讀取與特定列數據提取功能。通過用戶輸入文件路徑與列名&#xff0c;程序可從指定Excel文件中提取相應列的數據并展示&#xff0c;同時詳細闡述了關鍵…

關于人工智能未來的趨勢

學而不思則罔 翻譯&#xff1a;使用深度學習、強化學習卻不用專家系統&#xff0c;就會產生幻覺。 思而不學則殆 翻譯&#xff1a;只有專家系統邏輯推理&#xff0c;但是不用大模型更新知識&#xff0c;就無法發展下去了。 因此&#xff0c;未來智能的范式應該是&#xff1a; …

Java八股文——MySQL「性能調優篇」

MySQL的EXPLAIN有什么作用&#xff1f; 面試官您好&#xff0c;EXPLAIN命令是我在進行SQL性能優化時&#xff0c;使用最頻繁、也最重要的一個工具。 它的核心作用可以一句話概括&#xff1a;模擬MySQL的查詢優化器來執行一條SQL語句&#xff0c;并向我們展示出它最終決定采用…

win打印機共享處理

win打印機共享處理 軟件鏈接 無法啟動Print Spooler服務錯誤193:0xc1的解決方案主要涉及修復服務依賴關系、清理打印緩存及修復系統文件?。該錯誤通常由系統文件損壞、注冊表配置異常或依賴服務未啟動導致&#xff0c;可通過以下步驟系統化解決。?? 解決方法&#xff1a;替換…

C++ map代碼練習 1、2、priority_queue基礎概念、對象創建、數據插入、獲取堆頂、出隊操作、大小操作,自定義結構、代碼練習 1 2

map代碼練習1&#xff0c;對應力扣 兩個數據的交集&#xff0c;代碼見下 class Solution { public:vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {map<int, int> cnt;vector<int> ans;for(int i0; i<nums1.size(…

三天沖刺《編譯原理》——筆記(一)

點關注不迷路喲。你的點贊、收藏&#xff0c;一鍵三連&#xff0c;是我持續更新的動力喲&#xff01;&#xff01;&#xff01; 持續關注我~~~主頁&#xff0c;查看更多內容喲&#xff08;希望你能在這里有所收獲&#x1f92d;&#xff09;。點關注&#xff0c;不迷路&#xf…

代理模式Proxy Pattern

模式定義 給某一個對象提供一個代理&#xff0c;并由代理對象控制對原對象的引用 對象結構型模式 模式結構 Subject&#xff1a;抽象主題角色Proxy&#xff1a;代理主題角色RealSubject&#xff1a;真實主題角色 代理類實現代碼 public class Proxy implements Subject {p…

基于YOLOv11與單目測距的實戰教程:從目標檢測到距離估算

引言 在計算機視覺領域&#xff0c;目標檢測與距離估算的結合是自動駕駛、機器人導航等場景的關鍵技術。本文將以YOLOv8模型為核心&#xff0c;結合單目相機的幾何模型&#xff0c;實現對視頻中目標的實時檢測與距離估算。代碼參考自單目測距原理博客&#xff0c;并通過實踐驗…

代碼生成器使用原理以及使用方法

代碼生成器使用原理以及使用方法 版本號&#xff1a;1.0 二Ο二五年二月 目錄 文檔介紹 1.1編寫目的 1.2文檔范圍 1.3讀者對象 系統設計 2.1設計目標 2.2設計思路 2.3代碼實現原理 使用方法 3.1如何使用 3.2如何修改&#xff1f; 對原程序的bug修改及簡…

STM32標準庫-I2C通信

文章目錄 一、I2C通信1.1 I2C1.2硬件電路1.3I2C時序基本單元1.4I2C時序 二、MPU60502.1簡介2.2MPU6050參數2.3硬件電路2.4MPU6050框圖 三、I2C外設(硬件)3.1簡介3.2I2C框圖3.3I2C基本結構3.4主機發送3.5主機接收3.6軟件/硬件波形對比1. 時序精度2. 信號穩定性3. 速率與效率4. 波…

使用 Azure LLM Functions 與 Elasticsearch 構建更智能的查詢體驗

作者&#xff1a;來自 Elastic Jonathan Simon 及 James Williams 試用這個示例房地產搜索應用&#xff0c;它結合了 Azure Gen AI LLM Functions 與 Elasticsearch&#xff0c;提供靈活的混合搜索結果。在 GitHub Codespaces 中查看逐步配置和運行該示例應用的方法。 更多閱讀…

模糊查詢 的深度技術解析

以下是 模糊查詢 的深度技術解析&#xff0c;涵蓋核心語法、通配符策略、性能優化及實戰陷阱&#xff1a; &#x1f50d; 一、核心運算符&#xff1a;LIKE SELECT * FROM 表名 WHERE 列名 LIKE 模式字符串;&#x1f3af; 二、通配符詳解 通配符作用示例匹配案例%任意長度字符…

[論文閱讀] (39)EuroSP25 CTINEXUS:基于大模型的威脅情報知識圖譜自動構建

《娜璋帶你讀論文》系列主要是督促自己閱讀優秀論文及聽取學術講座&#xff0c;并分享給大家&#xff0c;希望您喜歡。由于作者的英文水平和學術能力不高&#xff0c;需要不斷提升&#xff0c;所以還請大家批評指正&#xff0c;非常歡迎大家給我留言評論&#xff0c;學術路上期…

強化學習三大分類

核心目標&#xff1a; 教會一個智能體&#xff08;比如機器人、游戲AI、推薦系統&#xff09;通過試錯和獎勵&#xff0c;學會在某個環境中完成特定任務的最佳策略。 核心角色&#xff1a; 智能體 (Agent)&#xff1a; 學習者&#xff0c;比如玩游戲的小人、控制溫度的空調系…

城市排水生命線安全運行監測項目

近年來&#xff0c;城市內澇、污水溢流等問題頻發&#xff0c;讓排水管網這一"城市生命線"的安全運行備受關注。如何讓地下的"毛細血管"更智能、更可靠&#xff1f;本文將帶您深入解析城市排水生命線安全運行監測項目的建設邏輯與技術內核&#xff0c;看科…

LeetCode - 34. 在排序數組中查找元素的第一個和最后一個位置

題目 34. 在排序數組中查找元素的第一個和最后一個位置 - 力扣&#xff08;LeetCode&#xff09; 思路 查找左邊界 初始化 left 0, right nums.size() - 1 當 left < right 時循環&#xff1a; 計算中點 mid left (right - left) / 2 如果 nums[mid] < target…

Tesollo四指靈巧手DG-4F:18自由度與多種抓取模式結合實現高精度操作

Tesollo四指靈巧手 DG-4F 是一款具備 18 自由度的多模態末端執行器&#xff0c;采用模塊化結構設計&#xff0c;融合人手靈活性與夾爪高效性特點。該產品兼容 Universal Robots、Techman、Doosan Robotics、Rainbow Robotics 等主流機器人平臺&#xff0c;適用于工業自動化、科…