STL與泛型編程 -- 第二週學習筆記(Boolan)

本週主要是講解了容器list的使用函數

 List是一種可在常數時間內在任何位置執行插入和刪除操做的順序容器。list是雙向鏈表,其迭代器是雙向的。與其餘順序容器(array, vector, deque)相比,list容器在任意位置執行插入、提取、和移動元素的操做更高效,但它不能經過在容器中的位置直接獲取元素。排序

list主要擁有這些功能rem

c.rbegin()      返回逆向鏈表的第一個元素,即c鏈表的最後一個數據。回調函數

c.rend()      返回逆向鏈表的最後一個元素的下一個位置,即c鏈表的第一個數據再往前的位置。class

c.front()      返回鏈表c的第一個元素。容器

c.back()      返回鏈表c的最後一個元素。List

c.insert(pos,num)      在pos位置插入元素num。迭代器

c.insert(pos,n,num)      在pos位置插入n個元素num。鏈表

c.insert(pos,beg,end)      在pos位置插入區間爲[beg,end)的元素。數據

c.push_back(num)      在末尾增長一個元素。

c.pop_back()      刪除末尾的元素。

c.push_front(num)      在開始位置增長一個元素。

c.pop_front()      刪除第一個元素。

c1.swap(c2);      將c1和c2交換。

swap(c1,c2);      同上。

c1.merge(c2)      合併2個有序的鏈表並使之有序,重新放到c1裏,釋放c2。

c1.merge(c2,comp)      合併2個有序的鏈表並使之按照自定義規則排序以後重新放到c1中,釋放c2。

remove(num)             刪除鏈表中匹配num的元素。

remove_if(comp)       刪除條件知足的元素,參數爲自定義的回調函數。

c.sort()       將鏈表排序,默認升序

c.sort(comp)       自定義回調函數實現自定義排序

相關文章
相關標籤/搜索