1. 程式人生 > >Boolan C++ STL與泛型編程 二

Boolan C++ STL與泛型編程 二

push_back 使用 功能 lan 鏈表排序 移動元素 直接 雙向鏈表 末尾

本周主要是講解了容器list的使用

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

list主要擁有這些功能

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

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

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

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

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) 自定義回調函數實現自定義排序

Boolan C++ STL與泛型編程 二