网易首页 > 网易号 > 正文 申请入驻

程序设计实习: 9.4 算法

0
分享至

STL算法分类 STL中的算法大致可以分为以下七类:

不变序列算法

变值算法

删除算法

变序算法

排序算法

有序区间算法

数值算法

算法:

大多重载的算法都是有两个版本的 用 “==” 判断元素是否相等, 或用 “<” 来比较大小 多出一个类型参数 “Pred” 和函数形参 “Pred op” : 通过表达式 “op(x,y)” 的返回值: ture/false 判断x是否 “等于” y,或者x是否 “小于” y 如下面的有两个版本的min_element: iterator min_element(iterator first, iterator last); iterator min_element(iterator first, iterator last, Pred op);

1. 不变序列算法 该类算法不会修改算法所作用的容器或对象 适用于顺序容器和关联容器 时间复杂度都是O(n)

1. 不变序列算法:

find: templateInIt find(InIt first, InIt last, const T& val); 返回区间 [first,last) 中的迭代器 i ,使得 * i == val find_if: templateInIt find_if(InIt first, InIt last, Pred pr); 返回区间 [first,last) 中的迭代器 i, 使得 pr(*i) == true

for_each: templateFun for_each(InIt first, InIt last, Fun f); 对[first, last)中的每个元素e, 执行f(e), 要求 f(e)不能改变e

count: templatesize_t count(InIt first, InIt last, const T& val); 计算[first, last) 中等于val的元素个数(x==y为true算等于) count_if: templatesize_t count_if(InIt first, InIt last, Pred pr); 计算[first, last) 中符合pr(e) == true 的元素e的个数

min_element: templateFwdIt min_element(FwdIt first, FwdIt last); 返回[first,last) 中最小元素的迭代器, 以 “<” 作比较器 最小指没有元素比它小, 而不是它比别的不同元素都小 因为即便a!= b, a<b 和b<a有可能都不成立="" max_element:="" templateFwdIt max_element(FwdIt first, FwdIt last); 返回[first,last) 中最大元素(不小于任何其他元素)的迭代器 以 “<” 作比较器

2. 变值算法 此类算法会修改源区间或目标区间元素的值 值被修改的那个区间, 不可以是属于关联容器的

transform templateOutIt transform(InIt first, InIt last, OutIt x, Unop uop); 对[first,last)中的每个迭代器I,

执行 uop( * I ); 并将结果依次放入从 x 开始的地方

要求 uop( * I ) 不得改变 * I 的值 本模板返回值是个迭代器, 即 x + (last-first) x可以和 first相等

copy 函数模板(算法):

In-Video Quiz

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
第四届新时代电视节颁奖,演员张志坚凭借《狂飙》荣获最佳男配角

第四届新时代电视节颁奖,演员张志坚凭借《狂飙》荣获最佳男配角

娱乐八卦木木子
2024-04-30 13:49:14
美国布林肯:50多个国家公开支持乌克兰,1个国家秘密支持俄罗斯

美国布林肯:50多个国家公开支持乌克兰,1个国家秘密支持俄罗斯

泸沽湖
2024-05-01 00:51:05
数不清的蜘蛛!欧空局探测器在火星“古城废墟”中拍到惊悚照片

数不清的蜘蛛!欧空局探测器在火星“古城废墟”中拍到惊悚照片

星空天文
2024-04-30 07:04:40
新一代丰田卡罗拉曝光,外观造型全面升级,最快年内全球首发!

新一代丰田卡罗拉曝光,外观造型全面升级,最快年内全球首发!

户外小阿隋
2024-04-30 23:08:30
古天乐坚持十年每天只吃一顿饭,专家:挨饿有助于长寿,网友热议

古天乐坚持十年每天只吃一顿饭,专家:挨饿有助于长寿,网友热议

宇航说教育
2024-04-29 14:43:31
不稳了?韩国人金玟哉到底怎么了……

不稳了?韩国人金玟哉到底怎么了……

阿万体育
2024-05-01 12:28:52
机关食堂乱象

机关食堂乱象

据说说娱乐
2024-05-01 07:50:28
80岁老教师收到劳动节最“凡尔赛”礼物,64年教龄获吉尼斯世界纪录认证

80岁老教师收到劳动节最“凡尔赛”礼物,64年教龄获吉尼斯世界纪录认证

上游新闻
2024-05-01 11:47:28
退休后才知道,低层次的亲家常说这六种话,高层次的亲家守口如瓶

退休后才知道,低层次的亲家常说这六种话,高层次的亲家守口如瓶

布衣粗食68
2024-04-30 15:41:35
60岁大哥保持一周2次性生活,坚持一年后,结果让医生羡慕不已

60岁大哥保持一周2次性生活,坚持一年后,结果让医生羡慕不已

奇妙的本草
2024-04-29 20:00:09
章子怡突然高调宣布喜讯!这个瓜,震惊了

章子怡突然高调宣布喜讯!这个瓜,震惊了

娱乐圈酸柠檬
2024-05-02 00:02:54
毛星火微博大号被禁言

毛星火微博大号被禁言

林樾读书
2024-04-30 13:14:05
披着谍战外衣,上演一幕幕闹剧,《哈尔滨1944》终成业界笑话

披着谍战外衣,上演一幕幕闹剧,《哈尔滨1944》终成业界笑话

娱乐圈酸柠檬
2024-05-01 20:04:27
73岁老妇嫁给39岁男子,婚后生活令人羡慕,每周的性生活多达六次

73岁老妇嫁给39岁男子,婚后生活令人羡慕,每周的性生活多达六次

唐宁街上的猫
2024-04-28 16:28:34
扎心了!山东34岁大龄剩女相亲看中年薪50万上海剩男,被嫌弃太老

扎心了!山东34岁大龄剩女相亲看中年薪50万上海剩男,被嫌弃太老

狐哥讲动物
2024-04-30 11:34:48
郑家榆大婶年纪仍魅力不减!穿“火腿纹”裙复古优雅,高级感爆棚

郑家榆大婶年纪仍魅力不减!穿“火腿纹”裙复古优雅,高级感爆棚

顶牌故事会
2024-04-28 11:36:09
五一福建舰海试!揭开了两个谜题:核常混合动力与增程型航母

五一福建舰海试!揭开了两个谜题:核常混合动力与增程型航母

星辰大海路上的种花家
2024-05-01 21:13:58
黑人兄弟呀 ,太厉害了!

黑人兄弟呀 ,太厉害了!

美食阿鳕
2024-05-01 20:29:47
科学界的重大发现, 推翻了进化论, 原来人类是外星人创造的!

科学界的重大发现, 推翻了进化论, 原来人类是外星人创造的!

三农老历
2024-05-01 07:35:09
大S突然发文哭诉汪小菲,原来真相是这样的!

大S突然发文哭诉汪小菲,原来真相是这样的!

菠萝小九
2024-04-30 09:00:03
2024-05-02 04:06:44
爱你雅课
爱你雅课
科普知识,科教视频
213文章数 623关注度
往期回顾 全部

科技要闻

余承东卸任华为终端CEO 新任命为董事长

头条要闻

哥伦比亚总统宣布将与以色列断绝外交关系

头条要闻

哥伦比亚总统宣布将与以色列断绝外交关系

体育要闻

詹眉湖人:洛杉矶大型烟花秀

娱乐要闻

黄子韬被曝求婚徐艺洋 大量亲密照曝光

财经要闻

王石自动放弃2023年千万退休金

汽车要闻

预售2.89-3.49万 奔腾小马正式开启预售

态度原创

教育
本地
亲子
数码
公开课

教育要闻

2024成都民办学校招生简章公布,招生计划和收费标准有这些变化

本地新闻

食味印象 | 潍坊:碳水脑袋的人间乐园

亲子要闻

孩子光脚的好处竟然这么多,后悔知道得太晚……

数码要闻

五一如何“满电”出行?充电设备大部分人都选错了!

公开课

父亲年龄越大孩子越不聪明?

无障碍浏览 进入关怀版