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

保健品 网站模板十堰市茅箭区建设局网站

保健品 网站模板,十堰市茅箭区建设局网站,哪里制作网站好,多商户商城源码下载Linux C 032-STL之map、multimap容器 本节关键字#xff1a;Linux、C、map、multimap 相关库函数#xff1a;clear、insert、erase map基本概念 简介#xff1a; map中所有元素都是pair pair中第一个元素为key#xff08;键值#xff09;#xff0c;起到索引作用…Linux C 032-STL之map、multimap容器 本节关键字Linux、C、map、multimap 相关库函数clear、insert、erase map基本概念 简介 map中所有元素都是pair pair中第一个元素为key键值起到索引作用第二个元素为value实际值 所有元素都会根据元素的键值自动排序 本质map/multimap属于关联式容器底层结构是二叉树实现 优点 1可以根据key值快速找到value值 2map和multimap的区别 3map不允许容器中有重复key值元素 4multimap允许容器中有重复key值元素 map构造和赋值 功能描述对map容器进行构造和赋值操作 函数原型 // 构造 mapT1, T2 mp; //map默认构造函数 map(const map mp); //拷贝构造函数 // 赋值 map operator(const map mp); //重载等号操作符示例 #include mapvoid printMap(const mapint, int m) {for(mapint, int::const_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(pairint, int (3, 30));m.insert(pairint, int (2, 20));m.insert(pairint, int (4, 40));printMap(m);mapint, int m2(m);printMap(m2);mapint, int m3;m3 m2;printMap(m3); }map大小和交换 功能描述统计map容器的大小以及交换map容器 函数原型 size(); //返回容器中元素的数目 empty(); //判断容器是否为空为空返回真 swap(st); //交换两个集合容器示例 #include mapvoid printMap(const mapint, int m) {for(mapint, int::const_iterator it m.begin();it ! m.end();it){cout key it-first value it-second endl;}cout endl; }void test01() {mapint, int m1;m1.insert(pairint, int(1, 10));m1.insert(pairint, int(2, 20));m1.insert(pairint, int(3, 30));if( m1.empty() ){cout m1为空 endl;}else{cout m1不为空 大小为 m1.size() endl;cout 元素为 endl;printMap(m1);}mapint, int m2;cout 交换前 endl;printMap(m1);printMap(m2);m1.swap(m2);cout 交换后 endl;printMap(m1);printMap(m2); }map插入和删除 功能描述map容器进行插入数据和删除数据 函数原型 insert(elem); //在容器中插入元素 clear(); //清除所有元素 erase(pos); //删除pos迭代器所指的元素返回下一个元素的迭代器 erase(beg, end); //算出区间 [beg, end) 中的所有元素返回下一个元素的迭代器 erase(key); //删除容器中值为key的元素示例 #include mapvoid printMap(const mapint, int m) {for(mapint, int::const_iterator it m.begin();it ! m.end();it){cout key it-first value it-second endl;}cout endl; }void test01() {mapint, int m1;m1.insert(pairint, int(1, 10));m1.insert(make_pair(2, 20));m1.insert(mapint, int::value_type(3, 30));m1[4] 40;//不建议用key不存在时使用[]访问会创value为0的对组// [] 不建议做插入但是可以利用key访问到valuecout m[4] m[4] endl;printMap(m1);m1.erase(m1.begin());printMap(m1);m.erase(3);printMap(m1);m1.clear();m1.erase(m1.begin(), m1.end());printMap(m1); }map查找和统计 功能描述对map容器进行查找数据以及统计数据 函数原因 find(key); //查找key存在时返回该键的迭代器若不存在返回set.end() count(key); //统计key的元素个数示例 #include mapvoid test01() {mapint, int m;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);//结果要么为1要么为0 - map不允许插入重复的key值cout num num endl; }map容器排序 map容器默认排序规则为 按照key值进行 从小到大排序掌握如何改变排序的规则 主要技术利用仿函数可以改变排序规则 示例 #include mapclass MyCompare { public:bool operator()(int v1, int v2){ //从大到小排序return v1 v2;} };void printMap(const mapint, int m) {for(mapint, int::const_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(pairint, int(2, 20));m.insert(pairint, int(4, 40));m.insert(pairint, int(3, 30));printMap(m);//自定义排序mapint, int, MyCompare m1;m1.insert(pairint, int(5, 50));m1.insert(pairint, int(1, 10));m1.insert(pairint, int(2, 20));m1.insert(pairint, int(4, 40));m1.insert(pairint, int(3, 30));printMap(m1); }总结 利用仿函数可以指定map容器的排序规则 对于自定义数据类型map必须要指定排序规则同set容器 案例员工分组 案例描述 公司今天招聘了10个员工ABCDEFGHIJ10名员工进入公司之后需要指派员工在哪个部门工作 员工信息姓名、工资 部门分为策划、美术、研发 随机给10名员工分配部门和工资 通过multimap进行信息的插入 key部门编号、value员工 分部门显示员工信息 案例代码 #include iostream #include string #include vector #include map #include ctime#define CEHUA 0 #define MEISHU 1 #define KAIFA 2class Worker { public:Worker(string name, int salary){this-m_Name name;this-m_Salary salary;}string m_Name;int m_Salary; };void printWorker(const vectorint, Worker m) {for(vectorWorker::const_iterator it m.begin();it ! m.end();it){cout 员工姓名 it-m_Name 员工薪资 it-m_Salary endl;}cout endl; }void createWorker(VectorWorker v) {string nameSeed ABCDEFGHIJ;for(int i0;i10;i){Worker worker;worker.m_Name 员工;worker.m_Name nameSeed[i];worker.m_Salary rand() % 10000 10000; //10000~19999v.push_back(worker);} }void setGroup(vectorWorker v, multimapint, WOrker m) {for(vectorWorker::iterator it v.begin();it ! v.end();it){//产生一个随机部门编号int deptId rand() % 3; // 0 1 2//将员工插入到分组中m.insert(make_pair(deptId, *it));} }void showWorkerByGoup(const multimapint, Worker m) {for(multimapint, Worker::const_iterator it m.begin();it ! m.end();it){cout 部门编号 it-first 员工姓名 it-second.m_Name 员工薪资 it-second.m_Salary endl; 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-t-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-t-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-t-second.m_Name 员工薪资 pos-second.m_Salary endl; }} }void main() {srand((unsigned int)time(NULL));//创建员工vectorWorker vWorker;createWorker(vWorker);printWorker(vWorker);//员工分组multimapint, Worker mWorker;setGroup(vWorker, mWorker);//分组显示员工showWorkerByGoup(mWorker);system(pause);return 0; }
http://www.pierceye.com/news/956961/

相关文章:

  • 小橘子被做h网站注册帐号
  • 汉川网站推广服务PHP网站建设的课后笔记
  • 中国建设银行网站功能模块多少钱才算有钱人
  • 毕业设计网站成品wordpress 发布模块
  • 网站推广 济南江西 网站 建设 开发
  • 视频 播放网站怎么做的ppt模板大师
  • 桂林北站到象鼻山景区怎么坐车wordpress更改上传
  • 温州制作手机网站wordpress电子书下载
  • 企业型网站怎么做wordpress邮件服务器
  • 龙华网站(建设信科网络)网站建设哪家好推荐万维科技
  • 克拉玛依网站建设公司网站 正在建设中
  • 虚拟主机可以做视频网站嘛有哪些网站有收录做红酒的商行
  • 广州seo优化推广外贸网站优化谷歌关键词排名
  • 网络服务网站建设网站策划书包括哪些内容?
  • ps学做翻页相册网站wordpress导航图标
  • 模板网站的弊端在哪杨家平网站建设
  • 网站模板带手机站手表网站十大品牌
  • 物流网站功能设计师招聘网站有哪些
  • 知名网站开发哪里有重庆公司网站建设价格
  • 南头做网站公司重庆建设厂招聘信息网站
  • 网站建设的基本条件外贸建设网站制作
  • 移动电子商务平台就是手机网站奉化首页的关键词优化
  • 公司怎么建立一个网站展示型网站模板代码
  • 益阳网页设计十堰seo优化服务
  • discuz论坛建站教程微商城开发小程序开发
  • 饰品网站建设炫丽的网站
  • 网站建设制作介绍河南企业建站多站点管理系统
  • 网站盗号怎么做设计说明模板200字
  • 赣州人才网站搜索引擎广告是什么
  • 广州app开发网站建设与网站优化销售