list

list

list 容器迭代器最大的不同在于,其配备的迭代器类型为双向迭代器,而不再是随机访问迭代器。
它们支持使用 ++p1、 p1++、 p1–、 p1++、 *p1、 p1==p2 以及 p1!=p2 运算符,

p1[i]:不能通过下标访问 list 容器中指定位置处的元素。
p1-=i、 p1+=i、 p1+i 、p1-i:双向迭代器 p1 不支持使用 -=+=+- 运算符。
p1<p2、 p1>p2、 p1<=p2、 p1>=p2:双向迭代器 p1、p2 不支持使用 <><=>= 比较运算符。

insert不会导致原迭代器失效。erase后返回下一个元素迭代器。

splice

在这里插入图片描述
splice() 成员方法移动元素的方式是,将存储该元素的节点从 list 容器底层的链表中摘除,然后再链接到当前 list 容器底层的链表中。这意味着,当使用 splice() 成员方法将 x 容器中的元素添加到当前容器的同时,该元素会从 x 容器中删除。

remove

void remove (const value_type& val);

删除list中所有满足条件值的元素

unique

功能:相邻元素相同时,只保留一个元素

void unique()
自定义规则,传入一个函数,当函数返回值为真是删除
void unique(BinaryPredicate)//传入一个二元谓词函数
remove_if
mylist.remove_if([](int value) {return (value < 10); });
满足条件的都删除
forward_list

单链表,空间利用率更高

advance

移动迭代器void advance (InputIterator& it, Distance n);让迭代器+n,如果不支持这++ ++…到n

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值