原
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 如果需要...