容器常见算法

常见遍历算法

算法简介:

for_each   //遍历容器

链接:https://pan.baidu.com/s/1QBNTdVA6oSxcScetAoCcTA?pwd=u8tx 
提取码:u8tx

for_each(iterator beg,iterator end,_func);

//遍历算法 遍历容器元素

//beg  开始迭代器

//end  结束迭代器

//_func 函数或者函数对象

transform  //搬运容器到另一个容器中

链接:https://pan.baidu.com/s/1H649eSS4VN7JeKEGoTkJeg?pwd=1314 
提取码:1314

transform(iterator beg1,iterator end1,iterator beg2,_func);

//beg1 源容器开始迭代器

//end1 源容器结束迭代器

//beg2 目标容器开始迭代器

//_func 函数或者函数对象

常见查找算法

算法简介:

find             //查找元素

链接:https://pan.baidu.com/s/1dl2kt4Te-8Oop47nde_ITQ?pwd=1314 
提取码:1314

find(iterator beg,iterator end,value);

//按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置

//beg  开始迭代器

//end  结束迭代器

//value 查找的元素

find_if          //按条件查找元素

链接:同find

find_if(iterator beg,iterator end,_Pred);

//按条件查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置

//beg  开始迭代器

//end  结束迭代器

//_Pred 函数或者谓词(返回bool类型的仿函数)

adjacent_find    //查找相邻重复元素

链接:https://pan.baidu.com/s/1vjHA0jPZF1syU9MdUa8WtQ?pwd=1314 
提取码:1314

adjacent_find(iterator beg,iterator end);

//查找相邻重复元素,返回相邻元素的第一个位置的迭代器

//beg  开始迭代器

//end  结束迭代器

binary_search    //二分查找法

链接:https://pan.baidu.com/s/1njktank9uckmCqDlmggzvQ?pwd=1314 
提取码:1314

bool binary_search(iterator beg,iterator end,value);

//查找指定的元素,查到返回true 否则false

//注意:在无序序列中不可用

//beg  开始迭代器

//end  结束迭代器

//value 查找的元素

count            //统计元素个数

链接:https://pan.baidu.com/s/1Pqm_36bcszgChWtXwBkD9w?pwd=1314 
提取码:1314

count(iterator beg,iterator end,value);

//统计元素出现次数

//beg 开始迭代器

//end 结束迭代器

//value 统计的元素

count_if         //按条件统计元素个数

链接:同count

count_if(iterator beg,iterator end,_Pred);

//按条件统计元素出现次数

//beg  开始迭代器

//end  结束迭代器

//_Pred 函数或者谓词(返回bool类型的仿函数)

常见排序算法

算法简介:

sort            //对容器内元素进行排序

链接:https://pan.baidu.com/s/1aKMsY94NadMQUDLy4QKpqg?pwd=1314 
提取码:1314

sort(iterator beg,iterator end,_Pred)

//按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置

//beg 开始迭代器

//end 结束迭代器

//_Pred 谓词

random_shuffle  //洗牌 指定范围内的元素随机调整次序

链接:https://pan.baidu.com/s/1CAC98pMdY_9SYHttekwE5w?pwd=1314 
提取码:1314

random_shuffle(iterator beg,iterator end);

//指定范围内的元素随机调整次序

//beg 开始迭代器

//end 结束迭代器

merge           //容量元素合并,并存储到另一个容器中

链接:https://pan.baidu.com/s/1cyAuwIPH6TCFe1s6mF-I7w?pwd=1314 
提取码:1314

merge(iterator beg1,iterator end1,iterator beg2,iterator end2,iterator dest);

//容器元素合并,并存储到另一个容器中

//注意: 两个容器必须是有序的

//beg1 容器1开始迭代器

//beg1 容器1结束迭代器

//beg2 容器2开始迭代器

//beg2 容器2结束迭代器

//dest 目标容器开始迭代器

reverse         //反转指定范围的元素

链接:https://pan.baidu.com/s/1CJFGOhqhGjAMW7sKbwkPHA?pwd=1314 
提取码:1314

reverse(iterator beg,iterator end)

//反转指定范围的元素

//beg 开始迭代器

//end 结束迭代器

常见拷贝和替换算法

算法简介:

copy        //容器内指定范围的元素拷贝到另一容器中

链接:https://pan.baidu.com/s/1nW7Ojun34frP9d6BAwDCgg?pwd=1314 
提取码:1314

copy(iterator beg,iterator end,iterator dest)

//beg 开始迭代器

//end 结束迭代器

//dest 目标起始迭代器

replace     //将容器内指定范围的旧元素修改为新元素

链接:同copy

replace(iterator beg,iterator end,oldvalue,newvalue)

//将区间内旧元素替换成新元素

//beg 开始迭代器

//end 结束迭代器

//oldvalue 旧元素

//newvalue 新元素

replace_if  //容器内指定范围满足条件的元素替换为新元素

链接:同copy

replace_if(iterator beg,iterator end,_Pred,newvalue)

//按条件替换元素,满足条件的替换成指定的元素

//beg 开始迭代器

//end 结束迭代器

//_Pred 谓词

//newvalue 替换的新元素

swap        //互换两个容器的元素

链接:同copy

swap(container c1,container c2)

//互换两个容器的元素

//c1容器1

//c2容器2

常见算术生成算法

accumulate  //计算容器元素累计总和。

链接:https://pan.baidu.com/s/1_RTaoDsyIw5HJq-e8wwxjg?pwd=1314 
提取码:1314

accumulate(iterator beg,iterator end,value);

//计算容器元素累计总和

//beg 开始迭代器

//end 结束迭代器

//value 起始值

fill         //向容器中添加元素

链接:同上

fill(iterator beg,iterator end,value)

//向容器中填充元素

//beg 开始迭代器

//end 结束迭代器

//value 填充的值

常见集合算法

set_intersection   //求两个容器的交集。(属于A且属于B的元素)

链接:https://pan.baidu.com/s/1v575DXvhCs69krmc7ktIiA?pwd=1314 
提取码:1314

set_intersection(iterator beg1,iterator end1,iterator beg2,iterator end2,iterator dest);

//求两个集合的交集

//注意:两个集合必须是有序序列

//beg1 容器1开始迭代器

//end1 容器1结束迭代器

//beg2 容器2开始迭代器

//beg2 容器2结束迭代器

//dest 目标容器开始迭代器

set_union          //求两个容器的并集。(属于A或属于B的元素)

//对于集合A = {a, b, c, d}和集合B = {b, c, w},则A与B 的差集为{a, d}

链接:同上

set_union(iterator beg1,iterator end1,iterator beg2,iterator end2,iterator dest);

//求两个集合的并集

//注意:两个集合必须是有序序列

//beg1 容器1开始迭代器

//end1 容器1结束迭代器

//beg2 容器2开始迭代器

//beg2 容器2结束迭代器

//dest 目标容器开始迭代器

set_difference     //求两个容器的差集。(属于A且不属于B的元素)

链接:同上

set_difference(iterator beg1,iterator end1,iterator beg2,iterator end2,iterator dest);

//求两个集合的差集(返回容器1有而容器二没有的数据)

//注意:两个集合必须是有序序列

//beg1 容器1开始迭代器

//end1 容器1结束迭代器

//beg2 容器2开始迭代器

//beg2 容器2结束迭代器

//dest 目标容器开始迭代器

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物の哀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值