一、list容器的基本概念。
1、功能: 将数据进行链式储存。
2、组成。
链表的组成: 由一系列的节点组成。
节点的组成: 一个储存数据元素的数据域,和一个储存下一个节点的地址的指针域。
STL中的链表是一个双向循环链表。
3、迭代器。
由于链表不是一段连续的储存空间,因此链表的迭代器只支持前移和后移,属于双向迭代器。
二、构造函数、赋值、交换、容量和大小。
#include <iostream>
using namespace std;
#include <list>
/*
1、构造函数
list<T> lst; //list采用模板类实现对象的默认构造形式。
list(beg,end); //构造函数将{beg,end)区间中的元素拷贝给本身。
list(n,elem); //构造函数将n个elem拷贝给本身。
list(const list &list); //拷贝构造函数。
2、赋值与交换。
assign(beg,end); //将[beg,end)区间中的数据拷贝赋值给本身。
assign(n,elem); //将n个elem拷贝赋值给本身
list& operator=(const list &lst); //重载等号操作符
swap(lst); //将lst与本身的元素互换。
3、容量和大小
size(); //返回容器中元素的个数
empty(); //判断容器是否为空
resize(num); //重新指定容器的长度为num,若容器变长,则以默认值填充新位置,如果容器变短,则末尾超出的容器长度的元素被删除。
resize(num,elem); //重新指定容器的长度为num,若容器变