天天看點

C++ STL 學習筆記 list,forward_list

list,forward_list

list:雙向連結清單

forward_list:單向連結清單

在任何位置添加元素,删除元素都很快,但随機通路元素則很慢

聲明和初始化

list<T> l;
list<T> l(l1);
list<T> l=l1;
list<T> l={a1,a2,a3,...};
list<T> l{a1,a2,a3,...};
           

相關操作

insert(it,val)  //插入元素需指明疊代器,在疊代器前插入元素
erase(it)        //删除疊代器處的元素
find(itbegin,itend,val) //algorithm頭檔案中,查找元素,傳回疊代器
           

學習代碼

#include <iostream>
#include <list>
#include<forward_list>
#include<algorithm>
using namespace std;
int main()
{
    list<int> li;
    list<int>::iterator it = li.begin();
    li.insert(it,);
    li.push_back();
    li.push_back();
    li.push_front();
    li.push_front();
    li.push_front();
    list<int>::iterator it3 = find(li.begin(),li.end(),);
    li.erase(it3);
    list<int>::iterator it2 = li.begin();
    while (it2 != li.end())
    {
        cout << *it2 << endl;
        ++it2;
    }

    getchar();
    return ;
}