C++_STL—容器List篇

廣海_小瘋瘋丶發表於2018-01-11

C++_STL—容器List篇

List是stl實現的雙向連結串列,與 向量(vectors)相比, 它允許快速的插入和刪除,但是隨機訪問卻比較慢。需要新增標頭檔案list

容器的使用

標頭檔案引用:

#include <list>
using namespace std;

List的定義和初始化

    list<int> lst1;          //建立空list

    list<int> lst2(3);       //建立含有三個元素的list

    list<int> lst3(3,2);     //建立含有三個元素的list

    list<int> lst4(lst2);    //使用lst2初始化lst4

    list<int> lst5(lst2.begin(),lst2.end());  //同lst4

常用的操作方法

 lst1.assign(lst2.begin(),lst2.end()); //分配值

    lst1.push_back(10);                //新增值

    lst1.pop_back();                   //刪除末尾值

    lst1.begin();                      //返回首值的迭代器

    lst1.end();                        //返回尾值的迭代器

    lst1.clear();                      //清空值

    bool isEmpty1 = lst1.empty();      //判斷為空

    lst1.erase(lst1.begin(),lst1.end());//刪除元素

    lst1.front();                      //返回第一個元素的引用

    lst1.back();                       //返回最後一個元素的引用

    lst1.insert(lst1.begin(),3,2);     //從指定位置插入個

    lst1.rbegin();                     //返回第一個元素的前向指標

    lst1.remove(2);                    //相同的元素全部刪除

    lst1.reverse();                    //反轉

    lst1.size();                       //含有元素個數

    lst1.sort();                       //排序

    lst1.unique();                     //刪除相鄰重複元素

遍歷

只有迭代器法

   for(list<int>::const_iterator iter = lst1.begin();iter != lst1.end();iter++)
    {
       cout<<*iter;
    }
    cout<<endl;

相關文章