双向循环列表
1.list中每个元素存放于堆中,可以不连续,通过指针进行数据访问;采用动态存储分配,不会造成内存浪费和溢出。
2.可以在任意位置插入删除,且效率高。链表执行插入和删除操作,修改指针即可,不需要移动大量元素。
1.随机访问效率低下;比如:要访问list的第6个元素,必须从已知的位置(比如头部或者尾部)迭代到该位置,在这段位置上迭代需要线性的时间开销;list还需要一些额外的空间,以保存每个节点的相关联信息。
2.list没有提供[]操作符的重载;只能通过迭代器访问链表。
a. 创建对象:list<数据类型> 对象名
b. 插入
尾部插入
头部插入
c.多少个元素 size()
c. 迭代器访问 取星号 取内容
d.排序:sort() 从小到大排序 只能类型为整数
list.sort(compare);
compare是一个简单的函数。这样就可以由大到小排序输出。
bool compare(int i1,int i2)
{
return i1>i2;
}