链表即双向链表容器 它不支持随机访问 访问链表元素要指针从链表的某个端点开始 所以它插入和删除操作所花费的时间是固定的和元素在链表中的位置无关
声明语法如下
std::list<int>intlist;
有很多方法可以调用 下面演示几个
std::list<type>name(size,value)
该方法初始化具有size元素个数的list对象 并将每个元素设置为value
std::list<type>name(mylist);
使用复制构造函数 用现有的链表mylist创建一个list对象
std::list<type>name(first,last);
该方法创建了元素在指定范围内的链表 first代表起始范围 last代表结束范围
测试实例效果图如下
测试代码如下
#include<iostream>
#include<vector>
#include<stdarg.h>
#include<deque>
#include<list>
using namespace std;
int main()
{
cout << "使用未排序储存0-9的数组初始化list1" << endl;
int array[10] = { 1,231,1,31,5,3,242,876,886,131 };
list<int>list1(array, array + 10);
cout << "list1调用sort方法排序" << endl;
list1.sort();
list<int>::iterator iter = list1.begin();
cout << "通过迭代器访问list双向链表中从头开始向后的第四个元素" << endl;
for (int i = 0; i < 3; i++) {
iter++;
}
cout << *iter << endl;
list1.insert(list1.end(), 13);
cout << "在末尾插入数组13" << endl;
for (auto it = list1.begin(); it != list1.end(); it++)
{
cout << " " << *it;
}
}