版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息科学技术学院程序设计实习郭炜刘家瑛1信息科学技术学院程序设计实习郭炜刘家瑛C+11特性2无序容器(哈希表)#include <iostream>#include <string>#include <unordered_map> using namespace std;int main()unordered_map<string,int> turingWinner; /图灵奖获奖turingWinner.insert(make_pair("Dijkstra",1972); turingWinner.insert(make_p
2、air("Scott",1976); turingWinner.insert(make_pair("Wilkes",1967); turingWinner.insert(make_pair("Hamming",1968); turingWinner"Ritchie" = 1983;string name;cin >> name; /输入姓名3unordered_map<string,int>:iterator p = turingWinner.find(name);/据姓名查获奖时间if(
3、p != turingWinner.end()cout << p->second;elsecout << "Not Found" << endl;return 0;哈希表和的时间复杂度几乎是常数4正则表达式#include <iostream>#include <regex> /使用正则表达式须包含此文件using namespace std;int main()regex reg("b.?p.*k");cout << regex_match("bopggk"
4、;,reg) <<endl;/输出 1, 表示匹配cout << regex_match("boopgggk",reg) <<endl; /输出 0, 表示匹配失败cout << regex_match("b pk",reg) <<endl;/输出 1, 表示匹配regex reg2("d3(a-zA-Z+).(d2|N/A)s1"); string correct="123Hello N/A Hello"string incorrect="12
5、3Hello 12 hello"cout << regex_match(correct,reg2) <<endl;/输出 1, 表示匹配cout << regex_match(incorrect,reg2) << endl; /输出 0, 表示匹配失败5Lambda表达式只使用一次的函数对象,能否不要专门为其编写一个类?只调用一次的简单函数,能否在调用时才写出其函数体?6Lambda表达式形式:外部变量方式说明符(参数表)->返回值类型语句组=&x,以传值的形式使用所有外部变量不使用任何外部变量,或以传值的形式使用所有外部
6、变量以形式使用所有外部变量x 以传值形式使用,y 以&y形式使用=,&x,&y&,x,yx,y 以形式使用,其余变量以传值形式使用x,y 以传值的形式使用,其余变量以形式使用“->返回值类型”也可以没有, 没有则编译器自动返回值类型。7Lambda表达式int main()int x = 100,y=200,z=300;cout << (double x,double y) return x + y; (1.2,2.5) << endl;auto ff = =,&y,&z(int n) cout <<x
7、<< endl; y+; z+;return n*n;cout << ff(15) << endl;cout << y << "," << z << endl;8Lambda表达式int main()int x = 100,y=200,z=300;cout << (double x,double y) return x + y; (1.2,2.5) << endl;auto ff = =,&y,&z(int n) cout <<x <
8、< endl; y+; z+;return n*n;cout << ff(15) << endl;cout << y << "," << z << endl;9输出:3.7100225201,301Lambda表达式int a4 = 4,2,11,33;sort(a,a+4, (int x,int y)->bool return x%10 < y%10; ); for_each(a,a+4, (int x) cout << x << " "
9、; ) ;10Lambda表达式int a4 = 4,2,11,33;sort(a,a+4, (int x,int y)->bool return x%10 < y%10; ); for_each(a,a+4, (int x) cout << x << " " ; ) ;11输出:11 2 33 4Lambda表达式#include <iostream> #include <algorithm> #include <vector> using namespace std; int main()vecto
10、r<int> a 1,2,3,4; int total = 0;for_each(a.begin(),a.end(),&(int & x) total += x; x*=2;); cout << total << endl; /输出 10 for_each(a.begin(),a.end(), (int x) cout << x << " "); return 0;12程序输出结果:102 4 6 8Lambda表达式实现递归求斐波那契数列第n项:function<int(int)> f
11、ib = &fib(int n) return n <= 2 ? 1 : fib(n-1) + fib(n-2);cout << fib(5) << endl;/输出5function<int(int)>数的函数表示返回值为int,有一个int参13In-Quiz下面程序的输出结果是:int n = 0;int a = 1,2,3,4 ;for_each(a,a+4,&(int e) +e; n += e; ); cout << n << "," << a2 << endl;A)14,3B)14,4C)10,3D)10,414In-Qui
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《高速电气化铁路接触网》课件3.1 承力索
- 模块一 计算机基础知识
- 车辆通行费收费员核心能力模拟考核试卷含答案
- 自然保护区巡护监测员技术理论测试考核试卷含答案
- 养蜂员沟通协调测试考核试卷含答案
- 2025年执业医师临床真题及答案
- 2025年职业健康培训考核考试复习题库(答案+解析)
- 2025年中储粮储运有限公司公开招聘笔试历年参考题库附带答案详解
- 2025年中级审计师《审计理论与实务》真题解析模拟考试题库(含易错题型)
- 2025年重庆市基层法律服务工作者执业核准考试题库(附答案)
- 注册安全工程师考试(初级)试卷与参考答案(2026年)
- 今天你光盘了吗 - 世界粮食日主题课件
- 肩周炎中医护理
- 2026年《计算机组成原理》培训试卷(含答案)
- 急性胆囊炎诊疗专家共识(2026版)
- 2026中国生物医药产业发展动态及投资前景预测报告
- 6.2 民主政治不断发展 课件(内嵌视频)2026-2027学年统编版道德与法治九年级上册
- 2026年司法考试《刑法》专项训练卷(附答案)
- 2026年低压电工证考试试题及答案
- 2026年广西壮族自治区百色市辅警招聘试题及答案
- 患者十大安全目标2025版(新)
评论
0/150
提交评论