【足迹C++primer】35、特定容器算法

本文介绍了特定容器算法的操作,包括merge、remove、reverse、sort和unique等方法,并详细解释了链表特有的splice操作的不同版本及其功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.youkuaiyun.com/cutter_point/article/details/33732681
特定容器算法

lst.merge(lst2) 将来自lst2的元素并入到lst。这两个都必须是有序的。
lst.merge(lst2, comp) 元素将从lst2删除,第一个版本号使用<运算符,第二个版本号使用给定的运算符

lst.remove(lst2)调用erase删除掉与给定值相等(==)或令一元谓词为真的每一个元素
lst.remove_if(pred)

lst.reverse() 反转lst中元素的顺序

lst.sort() 使用<或给定比較操作排序元素
lst.sort(comp)

lst.unique() 调用erase删除同一值的连续拷贝,第一个使用==。第二个版本号使用给定的二元谓词。
lst.unique(pred)

splice成员

void splice ( iterator position, list<T,Allocator>& x );  
void splice ( iterator position, list<T,Allocator>& x, iterator i );
void splice ( iterator position, list<T,Allocator>& x, iterator first, iterator last );
这是链表独有的,所以没有通用版本号。
所以对于list和forward_after的成员splice使用就能够了。
第一个版本号(1)传输X的全部元素插入到容器中position之后。 
第二个版本号(2)仅仅转让x中由i指出的元素进入容器中。

第三个版本号(3)X [first。last)传送范围到容器中。


链表特有的操作会改变容器



PS:这几章是有点水了,可是我的规定是每天一小节,大家要是想要代码的话,我也不知道去哪搞代码出来。。。。

都是些概念性的东西,大家不爱看的或能够跳过,

过几天预计就好了,后面还有大头等着呢!

大笑












转载于:https://www.cnblogs.com/ldxsuanfa/p/10590481.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值