list即双向链表。
#include<iostream>
#include<list>
using namespace std;
int main()
{
//构造
list<int> li;
//插入元素
//头插
li.emplace_front(2);
//尾插
li.emplace_back(8);
//指定位置插入
li.insert(++li.begin(), 6);
//遍历
for (list<int>::iterator it = li.begin(); it != li.end(); it++)
cout << *it;
cout << endl;
//输出:268
//排序,不能使用头文件algorithm中的sort算法,使用list模板自定义的sort方法
li.sort(greater<int>()); //从大到小排序
for (list<int>::iterator it = li.begin(); it != li.end(); it++)
cout << *it;
cout << endl;
//输出:862
li.emplace_back(2);
li.emplace_back(6);
li.emplace_back(8);
//删除元素
//删除指定位置元素
li.erase(++li.begin()); //删除第二个元素'6'
for (list<int>::iterator it = li.begin(); it != li.end(); it++)
cout << *it;
cout << endl;
//输出:82268
//删除指定元素
li.remove(8); //删除元素'8'
for (list<int>::iterator it = li.begin(); it != li.end(); it++)
cout << *it;
cout << endl;
//输出:226
//删除连续的重复元素,只保留其中一个
li.unique(); //删除连续的重复元素'2',只保留其中一个
for (list<int>::iterator it = li.begin(); it != li.end(); it++)
cout << *it;
cout << endl;
//输出:26
return 0;
}
ZHANG风云江湖