链表(非连续,非顺序存储结构,由数据域和指针域构成).
list是循环双向链表
1.动态分配内存,不会额外申请空间
2.插入删除快
3.额外的指针域耗费比较大
构造函数
方法 | 描述 |
---|---|
list lstT; | 默认构造形式: |
list(beg,end); | 构造函数将[beg, end)区间中的元素拷贝。 |
list(n,elem); | 构造函数将n个elem拷贝给。 |
list(const list &lst); | 拷贝构造函数。 |
方法 | 描述 |
---|---|
push_back(elem); | 尾部加入元素 |
pop_back(); | 删除最后元素 |
push_front(elem); | 开头插入元素 |
pop_front(); | 开头移除元素 |
insert(pos,elem); | pos位置插elem元素,返回新数据的位置。 |
insert(pos,n,elem); | pos位置插入n个elem数据,无返回值。 |
insert(pos,beg,end); | pos位置插入[beg,end)区间的数据,无返回值。 |
clear(); | 清空数据 |
erase(beg,end); | 删除[beg,end)区间的数据,返回下一个数据的位置。 |
erase(pos); | 删除pos位置的数据,返回下一个数据的位置。 |
remove(elem); | 删除容器中所有与elem值匹配的元素。 |
size(); | 元素个数 |
empty(); | 是否为空 |
resize(num); | 从新设定元素长度,多余默认填充,变短删除 |
resize(num, elem); | 从新设定元素长度,多余elem填充,变短删除 |
assign(beg, end); | 将[beg, end)区间中的数据拷贝赋值给本身。 |
assign(n, elem); | 将n个elem拷贝赋值给本身。 |
list& operator=(const list &lst); | 重载等号操作符 |
swap(lst); | 压缩长度 |
front(); | 返回第一个元素。 |
back(); | 返回最后一个元素。 |
reverse(); | 反转链表 |
sort(); | ist排序 |