zz 李木空間 www.limou.net
在使用list必須包括標頭檔案#include
#include int main (void)
使用list的成員函式push_back和push_front插入乙個元素到list中
clist. push_back(『a』); //把乙個物件放到乙個list的後面使用list的成員函式empty()判斷list是否為空clist. push_front (『b』); //把乙個物件放到乙個list的前面
if (clist.empty())
用list< char >::iterator得到指向list的指標
list< char>::iterator chariterator;
for(citerator = clist.begin();citerator != clist.end();citerator++)
//輸出list中的所有物件
說明:clist.begin()和clist.end()函式返回指向list< char >::iterator的指標,由於list採用鍊錶結構,因此它不支援隨機訪問,因此不能用clist.begin()+3來指向list中的第 四個物件,vector和deque支援隨機訪問。
用stl的通用演算法count()來統計list中的元素個數
int cnum;說明:在使用count()函式之前必須加入#includechar ch = 』b』;
cnum = count(clist.begin(), clist.end(), ch); //統計list中的字元b的個數
用stl的通用演算法count_if ()來統計list中的元素個數
const char c(『c』);
class isc
};int numc;
numc = count_if (clist.begin(), clist.end(),isc());//統計c的數量;
說明:count_if() 帶乙個函式物件的引數,函式物件是乙個至少帶有乙個operator()方法的類函式物件被約定為stl演算法呼叫operator時返回true或 false。它們根據這個來判定這個函式。舉個例子會 說的更清楚些。count_if()通過傳遞乙個函式物件來作出比count()更加複雜的評估以確定乙個物件是否應該被記數。
使用stl通用演算法find()在list中查詢物件
list::iterator finditerator;
finditerator = find(clist.begin(), clist.end(), 『c』);
if (finditerator == clist.end())
else
說明:如果沒有找到指定的物件,就會返回clist.end()的值,找到了就返回乙個指向物件iterator的指標。
使用stl通用演算法find_if()在list中查詢物件
const char c(『c』);
class c
};list::iterator finditerator
finditerator = find_if (clist.begin(), clist.end(),isc());//查詢字串c;
說明:如果沒有找到指定的物件,就會返回clist.end()的值,找到了就返回乙個指向物件iterator的指標。
使用list的成員函式sort()排序
clist.sort();
使用list的成員函式insert插入乙個物件到list中
clist.insert(cliset.end, 『c』); ///在list末尾插入字元『c』
char ch[3] =;
clist.insert(clist.end, &ch[0], & ch[3] ); //插入三個字元到list中
說明:insert()函式把乙個或多個元素插入到指出的iterator位置。元素將出現在 iterator指出的位置以前。
如何在list中刪除元素
clist.pop_front(); //刪除第乙個元素
clist.pop_back(); //刪除最後乙個元素
clist. erase(clist.begin()); //使用iterator刪除第乙個元素;
clist. erase(clist.begin(), clist.end()); //使用iterator刪除所有元素;
clist.remove(『c』); //使用remove函式刪除指定的物件;
list::iterator newend;
//刪除所有的』c』 ,並返回指向新的list的結尾的iterator
newend = clist.remove(clist.begin(), clist.end(), 『c』);
STL標準模板庫 list
原 2017年02月26日 21 12 15 老樊lu碼 閱讀數 46880 更多分類專欄 c 資料結構 c c c 開發實戰365 一 list定義 list是stl實現的雙向鍊錶,與向量 vectors 相比,它允許快速的插入和刪除,但是隨機訪問卻比較慢。使用時需要新增標頭檔案 include ...
STL模板庫list使用
list 宣告乙個空列表 list n 宣告乙個有n個元素的列表,每個元素都是由其預設建構函式t 構造出來的 list n,val 宣告乙個由n個元素的列表,每個元素都是由其複製建構函式t val 得來的 list n,val 宣告乙個和上面一樣的列表 list first,last 宣告乙個列表,...
標準模板庫(STL)使用 vector
或許你已經把 c 作為主要的程式語言用來解決 topcoder 上的問題。這意味著你已經簡單使用過了 stl,因為陣列和字串都是作為 stl 物件傳遞給函式。也許你已經注意到了,很多程式設計師寫 比你快得多,也更簡潔。或許你還不是但想成為一名 c 程式猿,因為這種程式語言功能很強大還有豐富的庫 也許...