【C++】list容器

一、list介绍

list实际上就是一个双向链表。

二、list的使用

2.1、list的构造函数

常用的构造方式

 2.2list的迭代器

list的空间不是连续的,因此它不支持迭代器的+、-运算符。但是它支持++、--运算符。

list也存在用于迭代器的函数:begin()、end()、rbegin()、rend()。

2.3list的常用接口

empty()        判断list是否为空

size()        返回list存储数据的个数

front()        返回第一个元素

back()        返回最后一个元素

 

push_front/emplace_front()       在头部添加一个新元素

pop_front()       删除头部元素

push_back/emplace_back()        在尾部添加一个新元素

pop_back()        删除尾部元素

insert()/emplace()        在某个位添加一个新元素

erase()        删除某个元素

swap()        与其他的list进行数据交换 

clear()        清除list中的所有元素

 

sort()        将list中的元素进行排序

此外,还有一些接口:

reverse()        反转list

merge()        合并两个有序list(合并后有序),被合并的list存储的元素会被删除

unique()        删除list中的重复值

remove()        删除所有指定的元素

splic()        将另一个list中的元素剪切到此list

三、list迭代器失效问题

list为链表结构,所以只有删除元素的时候,指向被删除的元素的迭代器才会失效。

四、list实现

https://gitee.com/you-fan-a/list-implementation

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值