1. 程式人生 > >C++STL list

C++STL list

所有 ras 容器 不能 ase clear 返回 end list

list雙向鏈表

高效進行插入刪除數據

不可以隨機存取元素,所以不支持at()和[]操作符。it可以++ --,不能it+5

節點序號從0開始

list<int> l;

l.push_back(1);//尾插法

it++;

it++;

l.inserrt(it,100);//在2號位置插入元素,原來的2號位置往後移

刪除

list.clear();//刪除所有元素

list.erase(beg,end);//刪除區間[beg,end)內的數據(左閉右開區間),返回下一個數據的位置,

list.erase(beg,beg+3);//刪除的是0、1、2三個元素

list.erase(pos);//刪除pos位置的數據,返回下一個數據的位置

list.remove(elem);//刪除容器中所有與elem值匹配的元素

結論

1.鏈表的節點序號是從0開始的,在2號位置插入元素,是讓原來的2號變成3號,原來的3號變成4號

2.erase刪除區間元素是左閉右開區間,list.erase(beg,beg+3);//刪除的是0、1、2三個元素

C++STL list