STL標準模板庫 list

2022-09-19 05:51:15 字數 3322 閱讀 8043

2023年02月26日 21:12:15

老樊lu碼

閱讀數 46880

更多分類專欄:

c++

資料結構

c/c++/c#開發實戰365

一、list定義:

list是stl實現的雙向鍊錶,與向量(vectors)相比, 它允許快速的插入和刪除,但是隨機訪問卻比較慢。使用時需要新增標頭檔案

#include 

二、list定義和初始化:

listlst1;          //建立空list

listlst2(5);       //建立含有5個元素的list

listlst3(3,2);  //建立含有3個元素的list

listlst4(lst2);    //使用lst2初始化lst4

listlst5(lst2.begin(),lst2.end());  //同lst4

三、list常用操作函式:

lst1.assign() 給list賦值 

lst1.back() 返回最後乙個元素 

lst1.begin() 返回指向第乙個元素的迭代器 

lst1.clear() 刪除所有元素 

lst1.empty() 如果list是空的則返回true 

lst1.end() 返回末尾的迭代器 

lst1.erase() 刪除乙個元素 

lst1.front() 返回第乙個元素 

lst1.get_allocator() 返回list的配置器 

lst1.insert() 插入乙個元素到list中 

lst1.max_size() 返回list能容納的最大元素數量 

lst1.merge() 合併兩個list 

lst1.pop_back() 刪除最後乙個元素 

lst1.pop_front() 刪除第乙個元素 

lst1.push_back() 在list的末尾新增乙個元素 

lst1.push_front() 在list的頭部新增乙個元素 

lst1.rbegin() 返回指向第乙個元素的逆向迭代器 

lst1.remove() 從list刪除元素 

lst1.remove_if() 按指定條件刪除元素 

lst1.rend() 指向list末尾的逆向迭代器 

lst1.resize() 改變list的大小 

lst1.reverse() 把list的元素倒轉 

lst1.size() 返回list中的元素個數 

lst1.sort() 給list排序 

lst1.splice() 合併兩個list 

lst1.swap() 交換兩個list 

lst1.unique() 刪除list中重複的元素

四、list使用示例:

示例1:遍歷list

//迭代器法

for(list

::const_iteratoriter = lst1.begin();iter != lst1.end();iter++)

cout

<

示例2:

#include

#include

#include

#include

#include

using

namespace

std;

typedef

list

listint;

typedef

list

listchar;

void

main

()cout

<< endl;

int result = accumulate(listone.begin(), listone.end(), 0);

cout

<< "sum="

<< result << endl;

cout

<< "------------------"

<< endl;

//用listchar建立乙個list物件

listchar listtwo;

//宣告i為迭代器

//從前向後顯示list佇列的全部元素

void put_list(intlist list, char *name)

//測試list容器的功能

STL標準模板庫 list的使用

zz 李木空間 www.limou.net 在使用list必須包括標頭檔案 include include int main void 使用list的成員函式push back和push front插入乙個元素到list中 clist.push back a 把乙個物件放到乙個list的後面 cli...

STL 標準模板庫)

此篇只是乙個目錄,將分成單篇去完成 stl 主要有三個部分組成 容器,迭代器,演算法。順序容器 向量 vector 雙端佇列 dequeue 表 list ps copy 方法 關聯容器 集合 set 多重集合 multiset 對映 map 多重對映 multimap 容器介面卡 棧 stack ...

Stl(標準模板庫)

stl 標準模板庫 stl的目的是標準化元件,這樣就不用重新開發,可以使用現成的元件。我們常用到的stl容器有vector list deque map multimap set和multiset。1.簡單概括 如果需要高效的隨機訪問,不在乎插入和刪除的效率,使用vector 類似陣列 2 如果需要...