list基礎用法

list基礎用法

  • 1.list的訪問就不能用下標+[]了,用迭代器
  • 2.emplace_back()幾乎是與push_back()用法一致,但也有差別
  • 3.insert(),erase()的用法
  • 4.reverse()
  • 5.排序
  • 6.合并
  • 7.unique()(去重)
  • 8.splice剪切再粘貼

1.list的訪問就不能用下標+[]了,用迭代器

void test1()
{list<int>lt;//list要帶頭文件,同理,vector,string也是lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);//list的訪問就不能用下標+[]了//用迭代器list<int>::iterator it = lt.begin();while (it != lt.end()){cout << *it;it++;}cout << endl;for (auto e : lt){cout << e;} cout << endl;}

2.emplace_back()幾乎是與push_back()用法一致,但也有差別


void test2()
{list<A>lt;A a1(1, 2);lt.push_back(a1);//又名lt.push_back(A(1, 1));//匿名lt.emplace_back(a1);lt.emplace_back(A(1, 1));//差別://push_back()只能傳一個參數,emplace_back()支持直接傳構造A的對象參數lt.emplace_back(3, 4);}

3.insert(),erase()的用法

void test_list3()
{list<int> lt;lt.push_back(1);lt.push_back(2);lt.push_back(3);lt.push_back(4);lt.push_back(5);lt.push_back(6);//insert()auto it = lt.begin();int k = 3;while (k--){++it;}lt.insert(it, 30);for (auto e : lt){cout << e << " ";}cout << endl;//erase()int x = 0;cin >> x;it = find(lt.begin(), lt.end(), x);if (it != lt.end()){lt.erase(it);}for (auto e : lt){cout << e << " ";}cout << endl;
}

4.reverse()

     lt.reverse();//orreverse(lt.begin(), lt.end());

5.排序

    // 升序lt.sort();//orless<int> ls;lt.sort(ls);//降序greater<int> gt;lt.sort(ls);//orlt.sort(greater<int>());

關于鏈表排序:鏈表排序效率非常的低。

6.合并

std::list<double> first, second;first.push_back(3.1);first.push_back(2.2);first.push_back(2.9);second.push_back(3.7);second.push_back(7.1);second.push_back(1.4);first.sort();second.sort();first.merge(second);//second就為空了

7.unique()(去重)

前提:必須保證有序

void test5()
{list<int> lt;lt.push_back(1);lt.push_back(20);lt.push_back(3);lt.push_back(5);lt.push_back(5);lt.push_back(4);lt.push_back(5);lt.push_back(6);lt.sort();for (auto e : lt){cout << e << " ";}cout << endl;lt.unique();for (auto e : lt){cout << e << " ";}cout << endl;
}

8.splice剪切再粘貼

void test6()
{// 一個鏈表節點轉移給另一個鏈表std::list<int> mylist1, mylist2;std::list<int>::iterator it;// set some initial values:for (int i = 1; i <= 4; ++i)mylist1.push_back(i);      // mylist1: 1 2 3 4for (int i = 1; i <= 3; ++i)mylist2.push_back(i * 10);   // mylist2: 10 20 30it = mylist1.begin();++it;                         // points to 2mylist1.splice(it, mylist2); // mylist1: 1 10 20 30 2 3 4// mylist2 (empty)// "it" still points to 2 (the 5th element
}

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

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

相關文章

2025年第十六屆藍橋杯大賽軟件賽C/C++大學B組題解

第十六屆藍橋杯大賽軟件賽C/C大學B組題解 試題A: 移動距離 問題描述 小明初始在二維平面的原點&#xff0c;他想前往坐標(233,666)。在移動過程中&#xff0c;他只能采用以下兩種移動方式&#xff0c;并且這兩種移動方式可以交替、不限次數地使用&#xff1a; 水平向右移動…

BGP實驗練習2

需求&#xff1a; 1.AS1存在兩個環回&#xff0c;一個地址為192.168.1.0/24&#xff0c;該地址不能再任何協議中宣告 AS3存在兩個環回&#xff0c;該地址不能再任何協議中宣告 AS1還有一個環回地址為10.1.1.0/24&#xff0c;AS3另一個環回地址是11.1.1.0/24 最終要求這兩…

【溫濕度物聯網】記錄1:寄存器配置

一&#xff0c;及哦地址 基地址base的定義&#xff1a; ↓ 定義完是這個&#xff1a; GPIOA的地址就是以上的代表 2寄存器&#xff1a; 通過bsrr來改變odr寄存器&#xff0c;左移16位就是把0-15位的給移到高位的保留區&#xff0c;這樣就歸零了 3&#xff0c;項目寄存器實操…

MCP項目實例 - client sever交互

1. 項目概述 項目目標 構建一個本地智能輿論分析系統。 利用自然語言處理和多工具協作&#xff0c;實現用戶查詢意圖的自動理解。 進行新聞檢索、情緒分析、結構化輸出和郵件推送。 系統流程 用戶查詢&#xff1a;用戶輸入查詢請求。 提取關鍵詞&#xff1a;從用戶查詢中…

運維體系架構規劃

運維體系架構規劃是一個系統性工程&#xff0c;旨在構建高效、穩定、安全的運維體系&#xff0c;保障業務系統的持續運行。下面從規劃目標、核心模塊、實施步驟等方面進行詳細闡述&#xff1a; 一、規劃目標 高可用性&#xff1a;確保業務系統 724 小時不間斷運行&#xff0c…

zst-2001 上午題-歷年真題 計算機網絡(16個內容)

網絡設備 計算機網絡 - 第1題 ac 計算機網絡 - 第2題 d 計算機網絡 - 第3題 集線器不能隔離廣播域和沖突域&#xff0c;所以集線器就1個廣播域和沖突域 交換機就是那么的炫&#xff0c;可以隔離沖突域&#xff0c;有4給沖突域&#xff0c;但不能隔離廣播域&#xf…

Python之with語句

文章目錄 Python中的with語句詳解一、基本語法二、工作原理三、文件操作中的with語句1. 基本用法2. 同時打開多個文件 四、with語句的優勢五、自定義上下文管理器1. 基于類的實現2. 使用contextlib模塊 六、常見應用場景七、注意事項 Python中的with語句詳解 with語句是Python…

我的五周年創作紀念日

五年前的今天&#xff0c;我在CSDN發布了第一篇《基于VS2015的MFC學習筆記&#xff08;常用按鈕button&#xff09;》&#xff0c;文末那句"歡迎交流"的忐忑留言&#xff0c;開啟了這段充滿驚喜的技術旅程。恍然發覺那些敲過的代碼早已成長為參天大樹。 收獲 獲得了…

Realtek 8126驅動分析第四篇——multi queue相關

Realtek 8126是 5G 網卡&#xff0c;因為和 8125 較為接近&#xff0c;第四篇從這里開始也無不可。本篇主要是講 multi queue 相關&#xff0c;其他的一些內容在之前就已經提過&#xff0c;不加贅述。 1 初始化 1.1 rtl8126_init_one 從第一篇我們可以知道每個 PCI 驅動都注…

使用PHP對接日本股票市場數據

本文將介紹如何通過StockTV提供的API接口&#xff0c;使用PHP語言來獲取并處理日本股票市場的數據。我們將以查詢公司信息、查看漲跌排行榜和實時接收數據為例&#xff0c;展示具體的操作流程。 準備工作 首先&#xff0c;請確保您已經從StockTV獲得了API密鑰&#xff0c;并且…

爬蟲工具與編程語言選擇指南

有人問爬蟲如何選擇工具和編程語言。根據我多年的經驗來說&#xff0c;是我肯定得先分析不同場景下適合的工具和語言。 如果大家不知道其他語言&#xff0c;比如JavaScript&#xff08;Node.js&#xff09;或者Go&#xff0c;這些在特定情況下可能更合適。比如&#xff0c;如果…

C語言while循環的用法(非常詳細,附帶實例)

while 是 C 語言中的一種循環控制結構&#xff0c;用于在特定條件為真時重復執行一段代碼。 while 循環的語法如下&#xff1a; while (條件表達式) { // 循環體&#xff1a;條件為真時執行的代碼 } 條件表達式&#xff1a;返回真&#xff08;非 0&#xff09;或假&#x…

1.短信登錄

1.0 問題記錄 1.0.1 redis 重復 token 問題 每次用戶登錄時&#xff0c;后端會創建一個新的 token 并存入 Redis&#xff0c;但之前登錄的 token 還沒有過期。這可能會導致以下問題&#xff1a; 1. Redis 中存在大量未過期但實際已不使用的 token2. 同一用戶可能有多個有效 …

需求與技術實現不匹配,如何協調

協調需求與技術實現不匹配問題&#xff0c;需要加強技術參與需求階段、推動架構與需求同步設計、建立跨職能溝通機制&#xff0c;其中加強技術參與需求階段是最關鍵的一步。 需求如果脫離技術實際&#xff0c;就容易導致實現困難、資源浪費甚至項目失敗。根據麥肯錫的一項研究&…

java每日精進 5.11【WebSocket】

1.純Websocket實現消息發送 1.1一對一發送 前端 用戶在輸入框輸入消息內容(sendText) 選擇特定接收用戶(sendUserId) 點擊發送按鈕觸發handlerSend方法 構造消息內容JSON: {text: "Hello", // 消息內容toUserId: 123 // 目標用戶ID } 包裝為WebSocket標準格式…

【NextPilot日志移植】params.c解析

params.c 參數說明 params.c 文件的主要作用是定義與 SD卡日志記錄 相關的參數。這些參數用于配置日志記錄的行為&#xff0c;包括日志記錄的時間、內容、存儲管理以及加密設置等。 1. UTC 偏移量 (SDLOG_UTC_OFFSET) PARAM_DEFINE_INT32(SDLOG_UTC_OFFSET, 0);用途&#xf…

jFinal 使用 SolonMCP 開發 MCP(擁抱新潮流)

MCP 官方的 java-sdk 目前只支持 java17。直接基于 mcp-java-sdk 也比較復雜。使用 SolonMCP&#xff0c;可以基于 java8 開發&#xff08;像 MVC 的開發風格&#xff09;&#xff0c;且比較簡單。 1、SolonMCP 簡介 SolonMCP&#xff08;全稱&#xff1a;solon-ai-mcp&#…

“端 - 邊 - 云”三級智能協同平臺的理論建構與技術實現

摘要 隨著低空經濟與智能制造的深度融合&#xff0c;傳統集中式云計算架構在實時性、隱私保護和資源效率上的瓶頸日益凸顯。本文提出“端 - 邊 - 云”三級智能協同平臺架構&#xff0c;以“時空 - 資源 - 服務”三維協同理論為核心&#xff0c;構建覆蓋終端感知、邊緣計算、云端…

【如何搭建開發環境】

了解java程序 JAVA體系結構 跨平臺原理與編譯和反編譯 如何學習java語言&#xff0c;如何搭建環境 設置JAVA_HOME&#xff0c;指向jdk的安裝目錄這一級即可。比如我的JDK安裝在C:\java\jdk1.8.0_25&#xff0c;那JAVA_HOME的值就是C:\java\jdk1.8.0_25設置Path變量 在Path值后…

LegoGPT,卡內基梅隆大學推出的樂高積木設計模型

LegoGPT 是由卡內基梅隆大學開發的一款創新性樂高積木設計模型&#xff0c;能夠根據用戶的文本提示生成結構穩固、可組裝的樂高模型。該模型基于自回歸語言模型和大規模樂高設計數據集進行訓練&#xff0c;用戶只需輸入簡單的文字描述&#xff0c;LegoGPT 就能逐步構建出物理穩…