C++ list forward_list

时间:2023-03-09 03:44:37
C++ 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,3);
    li.push_back(4);
    li.push_back(5);
    li.push_front(2);
    li.push_front(1);
    li.push_front(0);
    list<int>::iterator it3 = find(li.begin(),li.end(),5);
    li.erase(it3);
    list<int>::iterator it2 = li.begin();
    while (it2 != li.end())
    {
        cout << *it2 << endl;
        ++it2;
    }

    getchar();
    return 0;
}