当前位置: 首页 > news >正文

怎样创建网站或者网址100%能上热门的文案

怎样创建网站或者网址,100%能上热门的文案,自学网官网入口,黄埔网站建设哪家好C提高编程 第三章 STL - 常用容器 九、map/ multimap容器 1. map基本概念 简介#xff1a; map中所有元素都是pairpair中第一个元素为key#xff08;键值#xff09;#xff0c;起到索引作用#xff0c;第二个元素为value#xff08;实值#xff09;所有元素都会根…C提高编程 第三章 STL - 常用容器 九、map/ multimap容器 1. map基本概念 简介 map中所有元素都是pairpair中第一个元素为key键值起到索引作用第二个元素为value实值所有元素都会根据元素的键值自动排序 本质 map/multimap属于关联式容器底层结构是用二叉树实现。 优点 可以根据key值快速找到value值 map和multimap区别 map不允许容器中有重复key值元素multimap允许容器中有重复key值元素 2. map构造和赋值 功能描述 对map容器进行构造和赋值操作 函数原型 构造 mapT1, T2 mp; //map默认构造函数:map(const map mp); //拷贝构造函数 赋值 map operator(const map mp); //重载等号操作符 示例 #include mapvoid printMap(mapint,intm) {for (mapint, int::iterator it m.begin(); it ! m.end(); it){cout key it-first value it-second endl;}cout endl; }void test01() {mapint,intm; //默认构造m.insert(pairint, int(1, 10));m.insert(pairint, int(2, 20));m.insert(pairint, int(3, 30));printMap(m);mapint, intm2(m); //拷贝构造printMap(m2);mapint, intm3;m3 m2; //赋值printMap(m3); }int main() {test01();system(pause);return 0; }/*key 1 value 10key 2 value 20key 3 value 30key 1 value 10key 2 value 20key 3 value 30key 1 value 10key 2 value 20key 3 value 30 */总结map中所有元素都是成对出现插入数据时候要使用对组 3. map大小和交换 功能描述 统计map容器大小以及交换map容器 函数原型 size(); //返回容器中元素的数目empty(); //判断容器是否为空swap(st); //交换两个集合容器 示例 #include mapvoid printMap(mapint,intm) {for (mapint, int::iterator it m.begin(); it ! m.end(); it){cout key it-first value it-second endl;}cout endl; }void test01() {mapint, intm;m.insert(pairint, int(1, 10));m.insert(pairint, int(2, 20));m.insert(pairint, int(3, 30));if (m.empty()){cout m为空 endl;}else{cout m不为空 endl;cout m的大小为 m.size() endl;} }//交换 void test02() {mapint, intm;m.insert(pairint, int(1, 10));m.insert(pairint, int(2, 20));m.insert(pairint, int(3, 30));mapint, intm2;m2.insert(pairint, int(4, 100));m2.insert(pairint, int(5, 200));m2.insert(pairint, int(6, 300));cout 交换前 endl;printMap(m);printMap(m2);cout 交换后 endl;m.swap(m2);printMap(m);printMap(m2); }int main() {test01();test02();system(pause);return 0; }/*m不为空m的大小为 3交换前key 1 value 10key 2 value 20key 3 value 30key 4 value 100key 5 value 200key 6 value 300交换后key 4 value 100key 5 value 200key 6 value 300key 1 value 10key 2 value 20key 3 value 30 */总结 统计大小 — size判断是否为空 — empty交换容器 — swap 4. map插入和删除 功能描述 map容器进行插入数据和删除数据 函数原型 insert(elem); //在容器中插入元素。clear(); //清除所有元素erase(pos); //删除pos迭代器所指的元素返回下一个元素的迭代器。erase(beg, end); //删除区间[beg,end)的所有元素 返回下一个元素的迭代器。erase(key); //删除容器中值为key的元素。 示例 #include mapvoid printMap(mapint,intm) {for (mapint, int::iterator it m.begin(); it ! m.end(); it){cout key it-first value it-second endl;}cout endl; }void test01() {//插入mapint, int m;//第一种插入方式m.insert(pairint, int(1, 10));//第二种插入方式m.insert(make_pair(2, 20));//第三种插入方式m.insert(mapint, int::value_type(3, 30));//第四种插入方式m[4] 40; printMap(m);//删除m.erase(m.begin());printMap(m);m.erase(3);printMap(m);//清空m.erase(m.begin(),m.end());m.clear();printMap(m); }int main() {test01();system(pause);return 0; }/*key 1 value 10key 2 value 20key 3 value 30key 4 value 40key 2 value 20key 3 value 30key 4 value 40key 2 value 20key 4 value 40*/总结 map插入方式很多记住其一即可 插入 — insert删除 — erase清空 — clear 5. map查找和统计 功能描述 对map容器进行查找数据以及统计数据 函数原型 find(key); //查找key是否存在,若存在返回该键的元素的迭代器若不存在返回set.end();count(key); //统计key的元素个数 示例 #include map//查找和统计 void test01() {mapint, intm; m.insert(pairint, int(1, 10));m.insert(pairint, int(2, 20));m.insert(pairint, int(3, 30));//查找mapint, int::iterator pos m.find(3);if (pos ! m.end()){cout 找到了元素 key (*pos).first value (*pos).second endl;}else{cout 未找到元素 endl;}//统计int num m.count(3);cout num num endl; }int main() {test01();system(pause);return 0; }/*找到了元素 key 3 value 30num 1 */总结 查找 — find 返回的是迭代器统计 — count 对于map结果为0或者1 6. map容器排序 学习目标 map容器默认排序规则为 按照key值进行 从小到大排序掌握如何改变排序规则 主要技术点: 利用仿函数可以改变排序规则 示例 #include mapclass MyCompare { public:bool operator()(int v1, int v2) const {return v1 v2;} };void test01() {//默认从小到大排序//利用仿函数实现从大到小排序mapint, int, MyCompare m;m.insert(make_pair(1, 10));m.insert(make_pair(2, 20));m.insert(make_pair(3, 30));m.insert(make_pair(4, 40));m.insert(make_pair(5, 50));for (mapint, int, MyCompare::iterator it m.begin(); it ! m.end(); it) {cout key: it-first value: it-second endl;} } int main() {test01();system(pause);return 0; }/*key:5 value:50key:4 value:40key:3 value:30key:2 value:20key:1 value:10 */总结 利用仿函数可以指定map容器的排序规则对于自定义数据类型map必须要指定排序规则,同set容器 十、案例-员工分组 1. 案例描述 公司今天招聘了10个员工ABCDEFGHIJ10名员工进入公司之后需要指派员工在那个部门工作员工信息有: 姓名 工资组成部门分为策划、美术、研发随机给10名员工分配部门和工资通过multimap进行信息的插入 key(部门编号) value(员工)分部门显示员工信息 2. 实现步骤 创建10名员工放到vector中遍历vector容器取出每个员工进行随机分组分组后将员工部门编号作为key具体员工作为value放入到multimap容器中分部门显示员工信息 案例代码 #includeiostream using namespace std; #include vector #include string #include map #include ctime/* - 公司今天招聘了10个员工ABCDEFGHIJ10名员工进入公司之后需要指派员工在那个部门工作 - 员工信息有: 姓名 工资组成部门分为策划、美术、研发 - 随机给10名员工分配部门和工资 - 通过multimap进行信息的插入 key(部门编号) value(员工) - 分部门显示员工信息 */#define CEHUA 0 #define MEISHU 1 #define YANFA 2class Worker { public:string m_Name;int m_Salary; };void createWorker(vectorWorkerv) {string nameSeed ABCDEFGHIJ;for (int i 0; i 10; i){Worker worker;worker.m_Name 员工;worker.m_Name nameSeed[i];worker.m_Salary rand() % 10000 10000; // 10000 ~ 19999//将员工放入到容器中v.push_back(worker);} }//员工分组 void setGroup(vectorWorkerv,multimapint,Workerm) {for (vectorWorker::iterator it v.begin(); it ! v.end(); it){//产生随机部门编号int deptId rand() % 3; // 0 1 2 //将员工插入到分组中//key部门编号value具体员工m.insert(make_pair(deptId, *it));} }void showWorkerByGourp(multimapint,Workerm) {// 0 A B C 1 D E 2 F G ...cout 策划部门 endl;multimapint,Worker::iterator pos m.find(CEHUA);int count m.count(CEHUA); // 统计具体人数int index 0;for (; pos ! m.end() index count; pos , index){cout 姓名 pos-second.m_Name 工资 pos-second.m_Salary endl;}cout ---------------------- endl;cout 美术部门 endl;pos m.find(MEISHU);count m.count(MEISHU); // 统计具体人数index 0;for (; pos ! m.end() index count; pos, index){cout 姓名 pos-second.m_Name 工资 pos-second.m_Salary endl;}cout ---------------------- endl;cout 研发部门 endl;pos m.find(YANFA);count m.count(YANFA); // 统计具体人数index 0;for (; pos ! m.end() index count; pos, index){cout 姓名 pos-second.m_Name 工资 pos-second.m_Salary endl;}}int main() {srand((unsigned int)time(NULL));//1、创建员工vectorWorkervWorker;createWorker(vWorker);//2、员工分组multimapint, WorkermWorker;setGroup(vWorker, mWorker);//3、分组显示员工showWorkerByGourp(mWorker);测试//for (vectorWorker::iterator it vWorker.begin(); it ! vWorker.end(); it)//{// cout 姓名 it-m_Name 工资 it-m_Salary endl;//}system(pause);return 0; }/*策划部门姓名 员工A 工资 16609姓名 员工B 工资 18235姓名 员工E 工资 13506----------------------美术部门 姓名 员工H 工资 19680姓名 员工J 工资 12307----------------------研发部门 姓名 员工C 工资 11034姓名 员工D 工资 16951姓名 员工F 工资 12186姓名 员工G 工资 12650姓名 员工I 工资 19337 */总结 当数据以键值对形式存在可以考虑用map 或 multimap
http://www.w-s-a.com/news/616995/

相关文章:

  • 什么是网站功能源码下载站
  • 石家庄制作网站的公司双柏县住房和城乡建设局网站
  • 影视vip网站建设教程ppt模板免费下载 素材红色
  • 内蒙古城乡建设部网站首页平台网站建设ppt
  • 集约化网站建设项目官方网站建设
  • 原创先锋 北京网站建设网站开发电脑内存要多少
  • 婚恋网站建设项目创业计划书网站建设 食品
  • 免费建网站代码查询做导员的网站
  • 做网站的软件电子可以看女人不易做网站
  • 学校响应式网站模板下载仙居住房和城乡建设规划局网站
  • 推广网站的方法有拍卖网站建设
  • 网站建设网站排名优化中国网站服务器哪个好
  • asp网站应用程序网站建设需要提供的资料
  • 网站开发与设计.net微信小程序设计制作
  • 怎样做网站排名优化展馆设计费取费标准一览表
  • 网站建设去哪可接单网站建设与设计大作业
  • 休闲咖啡厅网站开发目标韩国小清新网站模板
  • 做微景观的网站制作网页模板适应不同分辨率
  • 最简单的网站系统昨天军事新闻最新消息
  • 做ps网页设计的网站有哪些wordpress内容付费
  • 有没有免费注册域名的网站科技小制作 手工 简单
  • 网站支付端口win10优化大师怎么样
  • 怎么做云购网站吗网站流量监测
  • 网站被恶意刷流量可以翻外墙的浏览器
  • 网站做直链下载存储解决方案怎么把网站设置为主页面
  • 西安做网站招聘深圳网站见
  • 网站怎么做优化百度能搜索到wordpress 子分类
  • 六安网站建设培训制作网站需要多少时间
  • 电子商务专业网站建设什么软件可以做动画视频网站
  • wordpress 分享主题做网站优化有必要