1. 程式人生 > >STL順序容器之連結串列

STL順序容器之連結串列

list雙向連結串列

forward_list向前連結串列(單向),操作都在連結串列頭        (2011年新標準)(略)

標頭檔案

#include<list>

建構函式

list<結構體> 變數名

遍歷

for_each(ls2.begin(),ls2.end(),fun);

迭代器

  list <Node>::iterator ite=ls2.begin();
    ite++;        //只能++,不能+2、+3

無容量概念

size 取大小

resize 重新設定大小

empty 判斷有無

輸出

front()訪問第一個元素

back()訪問最後一個元素

新增

頭新增 push_front()

尾新增push_back()

中間新增

insert(迭代器,(幾個,)結構體)

insert(首位置,尾位置下一個)

刪除

尾刪除

pop_back()

頭刪除

pop_front()

中間刪除

erase(迭代器)

erase(首位置,尾位置下一個)

清空

clear()

刪除某個節點

remove(某元素)

若為結構體,需要過載運算子==

刪除重複元素

unique()

賦值

assign(數量,元素)

assign(首位置,尾位置下一個)、

交換

swap()函式

倒轉

reverse()

排序

sort()     (成員函式)

結構體要過載

合併

ls1.merge(ls2)    需要連結串列是有序的

拼接

splice(位置,連結串列(,元素)/(,首位置,尾位置))

查詢

find(首位置,尾位置,元素) 返回迭代器

相關推薦

STL順序容器連結串列

list雙向連結串列 forward_list向前連結串列(單向),操作都在連結串列頭        (2011年新標準)(略) 標頭檔案 #include<list> 建構函式 list<結構體> 變數名 遍歷 for_each(ls2.begin

c++資料結構連結串列詳情1(順序連結串列)

長大是人必經的潰爛        ---大衛塞林格 程式碼是年輕人的新生!!!!!! 程式 = 資料結構  + 演算法   --Niklaus EmilWirth 這篇部落格在參考一些書籍和教學視訊的基礎上整理而來,中間夾雜了一些自己

資料結構(一)順序表與連結串列

順序表 運用陣列結構來構建的線性表就是順序表。 本例實現了順序表的列印、清空、判斷是否為空、求表長、獲得指定下標的元素、獲得指定元素的下標、插入和刪除操作。 #include<iostream> const int MAXSIZE=100; using

資料結構實驗連結串列一:順序建立連結串列(SDUT 2116)

Problem Description 輸入N個整數,按照輸入的順序建立單鏈表儲存,並遍歷所建立的單鏈表,輸出這些資料。 Input 第一行輸入整數的個數N; 第二行依次輸入每個整數。 Outp

SDUTOJ 2116 資料結構實驗連結串列一:順序建立連結串列

最近資料結構和c++相結合的實訓正在進行,鑑於一些同學還不是太懂連結串列,寫一篇部落格講解一下,若是哪裡有問題,請不吝支出,在此謝過,若是過路的大神看見了,求輕噴。。。。 說白了,連結串列就是個特殊的結構體陣列,只不過陣列是用下標找到某個節點的後繼節點,而連結串列使用一個指

資料結構實驗連結串列一:順序建立連結串列

#include <stdio.h> #include <stdlib.h> struct node {     int data;     struct node *next; }; int main() {     int i,n;     st

java資料結構與演算法順序表與連結串列深入分析

關聯文章:   資料結構與演算法這門學科雖然在大學期間就已學習過了,但是到現在確實也忘了不少,因此最近又重新看了本書-《資料結構與演算法分析》加上之前看的《java資料結構》也算是對資料結構的進一步深入學習了,於是也就打算寫一系列的資料結構的博文以便加

資料結構實驗連結串列一:順序建立連結串列(建構函式)

資料結構實驗之連結串列一:順序建立連結串列 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 輸入N個整數,按照輸入的順

順序儲存結構與鏈式儲存結構的比較(也可以說的順序表與連結串列的比較)

1、鏈式儲存結構的儲存空間在邏輯上是連續的,但是在物理上是離散的;而順序儲存結構的儲存空間在邏輯上是連續的,在物理上也是連續的。 2、鏈式儲存儲存密度小,但空間利用率較高;順序儲存儲存密度大,但空間利用率較低。 3、順序結構優點是可以隨機讀取元素,缺點是插入和刪除元素要移動大量元素,

C++學習連結串列

1.1建立與遍歷連結串列 #include<iostream> using namespace std; struct Student { long number; float score; Student*next; }; Student * head;//定義頭結點

2、【C++ STL容器序列式容器

一、Vector (1)將元素置於一個動態陣列中加以管理。 (2)可以隨機存取元素(用索引位元組存取) (3)陣列尾部新增或移除元素非常快速。當在頭部或中部安插元素比較費時。 【示例】 1 #include <iostream> 2 #include <vector>

《資料結構與演算法》連結串列—有序連結串列

2、有序連結串列 有序連結串列是在單鏈表的基礎上對單鏈表的表頭節點插入進行修改,從表頭開始根據插入值與連結串列中原先存在的資料節點進行比較判斷,若大於(或小於)該節點就向後移一個節點進行比較,直至不大於(或小於)該節點,最終實現按照從小到大(或從大到小)的順序排列連結串列。 // 插入節點,

《資料結構與演算法》連結串列—雙端連結串列

2、雙端連結串列 雙端連結串列就是在單鏈表的基礎上增加一個尾節點,使連結串列既有頭節點又有尾節點,這樣方便進行連結串列尾的訪問和刪除。其計算複雜度如下:1、在表頭插入一個新的節點,時間複雜度O(1) ;2、在表尾插入一個新的節點,時間複雜度O(1) ;3、刪除表頭的節點,時間複雜度O(1) ;4

《資料結構與演算法》連結串列—單向連結串列

連結串列(LinkedList) 連結串列是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過連結串列中的指標連結次序實現的。連結串列由一系列節點(連結串列中每一個元素稱為節點)組成,節點可以在執行時動態生成。每個節點包括兩個部分:一個是儲存資料元素的資料域,另一個是儲存下一個

資料結構連結串列C語言實現以及使用場景分析

連結串列是資料結構中比較基礎也是比較重要的型別之一,那麼有了陣列,為什麼我們還需要連結串列呢!或者說設計連結串列這種資料結構的初衷在哪裡? 這是因為,在我們使用陣列的時候,需要預先設定目標群體的個數,也即陣列容量的大小,然而實時情況下我們目標的個數我們是不確定的,因此我們總是要把陣列的容量設定的

SDUTOJ-2054 資料結構實驗連結串列九:雙向連結串列

 題目連結 #include <iostream> #include <cstdlib> using namespace std; typedef int ElementType; typedef struct node { ElementType

SDUTOJ-3331 資料結構實驗連結串列八:Farey序列

連結串列節點插入練習題 題目連結 #include <stdio.h> #include <cstdlib> using namespace std; typedef int ElementType; typedef struct node { Elemen

資料結構連結串列操作(c++實現)

1、單向連結串列(頭結點不含資料,不佔長度),C++實現: #include <iostream> #include <stack> using namespace std; /*****定義節點****/ typedef struct node{ int va

Leetcode題解連結串列(6) 環形連結串列

題目:https://leetcode-cn.com/explore/interview/card/top-interview-questions-easy/6/linked-list/46/ 題目描述: 給定一個連結串列,判斷連結串列中是否有環。 進階: 你能否不使用額外空間解決此

python基礎連結串列Linked

連結串列的操作要注意當前的所在位置,你要操作資料的所在位置,要如何去找到你要操作的資料。 連結串列結點的定義: """結點定義方法1""" class LNode1(): """ 定義好後再呼叫的時候不需要傳值,直接head=LNode() """ data=No