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

长沙网站设计报价wordpress 主机和域名绑定域名

长沙网站设计报价,wordpress 主机和域名绑定域名,成都网络科技公司排名,台州黄岩做网站一、set/multiset容器 1. set基本概念 简介#xff1a;所有元素都会在插入时自动被排序 本质#xff1a;set/multiset属于关联式容器#xff0c;底层结构是用二叉树实现的 set和multiset的区别#xff1a;set不允许容器中有重复的元素#xff0c;multiset允许容器中有…一、set/multiset容器 1. set基本概念 简介所有元素都会在插入时自动被排序 本质set/multiset属于关联式容器底层结构是用二叉树实现的 set和multiset的区别set不允许容器中有重复的元素multiset允许容器中有重复的元素 2. set构造和赋值 构造 setT st;        // 默认构造函数set(const set st);        // 拷贝构造函数 赋值 set operator(const set st);        // 重载等号操作符 #include iostream #include setusing namespace std;void printSet(setint s) {for (setint::iterator it s.begin(); it ! s.end(); it){cout *it ;}cout endl; }void test01() {setint s1;s1.insert(40);s1.insert(20);s1.insert(40);s1.insert(20);s1.insert(10);s1.insert(30);s1.insert(20);// 遍历容器// set容器特点所有元素插入时自动被排序// set容器不允许插入重复值printSet(s1);// 拷贝构造setints2(s1);printSet(s2);// 赋值setints3;s3 s2;printSet(s3); }int main(int argc, char* argv[]) {test01();return 0; } 3. set大小和交换 函数原型 size();        // 返回容器中元素的数目empty();        // 判断容器是否为空swap(st);        // 交换两个集合容器 #include iostream #include setusing namespace std;void printSet(setint s) {for (setint::iterator it s.begin(); it ! s.end(); it){cout *it ;}cout endl; }void test01() {setint s1;s1.insert(40);s1.insert(20);s1.insert(40);s1.insert(20);s1.insert(10);s1.insert(30);s1.insert(20);// 判断是否为空if (s1.empty()){cout s1为空... endl;}else{cout s1不为空... endl;printSet(s1);cout s1的大小为: s1.size() endl;}setints2;s2.insert(1);s2.insert(3);s2.insert(5);s2.insert(7);s2.insert(9);// 交换前cout ——交换前—— endl;cout s1:;printSet(s1);cout s2:;printSet(s2);// 交换后s1.swap(s2);cout ——交换后—— endl;cout s1:;printSet(s1);cout s2;printSet(s2); }int main(int argc, char* argv[]) {test01();return 0; } 4. set插入和删除 函数原型 insert(elem);        // 在容器中插入元素clear();        // 清除所有元素erase(pos);        // 删除pos迭代器所指的元素返回下一个元素的迭代器erase(beg, end);        // 删除区间[beg, end)的所有元素返回下一个元素的迭代器erase(elem);        // 删除容器中值为elem的元素 #include iostream #include setusing namespace std;void printSet(setint s) {for (setint::iterator it s.begin(); it ! s.end(); it){cout *it ;}cout endl; }void test01() {setint s1;s1.insert(40);s1.insert(20);s1.insert(40);s1.insert(20);s1.insert(10);s1.insert(30);s1.insert(20);printSet(s1);// 删除s1.erase(s1.begin());printSet(s1);s1.insert(20);s1.insert(50);printSet(s1);s1.erase(s1.begin(), --s1.end());printSet(s1);s1.erase(50);printSet(s1);// 清空s1.insert(20);s1.insert(30);s1.clear();printSet(s1); }int main(int argc, char* argv[]) {test01();return 0; } 5. set查找和统计 函数原型 find(key);        // 查找key是否存在存在返回该键的元素的迭代器不存在返回set.end()count(key);        // 统计key的元素个数 #include iostream #include setusing namespace std;void printSet(setint s) {for (setint::iterator it s.begin(); it ! s.end(); it){cout *it ;}cout endl; }void test01() {setint s1;s1.insert(40);s1.insert(20);s1.insert(40);s1.insert(20);s1.insert(10);s1.insert(30);s1.insert(20);printSet(s1);// 查找setint::iterator pos s1.find(30);if (pos ! s1.end()){cout 找到元素: *pos endl;}else{cout 未找到该元素... endl;}// 统计// 对于set而言,统计结果要么为0要么为1cout 30出现的次数为: s1.count(30) endl; }int main(int argc, char* argv[]) {test01();return 0; } 6. set和multiset区别 set不可以插入重复数据而multiset可以set插入数据的同时会返回插入结果表示插入是否成功multiset不会检测数据因此可以插入重复数据 #include iostream #include setusing namespace std;void printSet(setint s) {for (setint::iterator it s.begin(); it ! s.end(); it){cout *it ;}cout endl; }void printMultiset(multisetint ms) {for (multisetint::iterator it ms.begin(); it ! ms.end(); it){cout *it ;}cout endl; }void test01() {setint s1;pairsetint::iterator,bool ret s1.insert(10);if (ret.second){cout 第一次插入成功... endl;}else{cout 第一次插入失败... endl;}ret s1.insert(10);if (ret.second){cout 第二次插入成功... endl;}else{cout 第二次插入失败... endl;}cout set为:;printSet(s1);multisetint ms1;ms1.insert(10);ms1.insert(10);cout multiset为:;printMultiset(ms1); }int main(int argc, char* argv[]) {test01();return 0; } 7. pair对组创建 成对出现的数据利用对组可以返回两个数据 两种创建方式 pairtype, type p (value1, value2);pairtype, type p make_pair(value1, value2); #include iostream #include setusing namespace std;void test01() {// 对组创建// 1. 第一种方式pairstring, intp1(Tom, 20);cout 姓名: p1.first 年龄: p1.second endl;// 第二种方式pairstring, intp2 make_pair(Jerry, 30);cout 姓名: p2.first 年龄: p2.second endl; }int main(int argc, char* argv[]) {test01();return 0; } 8. set排序 问题set容器默认排序规则为从小到大如何改变排序规则 主要技术点利用仿函数可以改变排序规则 1set存放内置数据类型 #include iostream #include setusing namespace std;void printSet(setint s) {for (setint::iterator it s.begin(); it ! s.end(); it){cout *it ;}cout endl; }class myCompare { public:bool operator()(int num1, int num2)const{return num1 num2;} };void printMyset(setint, myCompare ms) {for (setint,myCompare::iterator it ms.begin(); it ! ms.end(); it){cout *it ;}cout endl; }void test01() {setints1;s1.insert(40);s1.insert(20);s1.insert(50);s1.insert(10);s1.insert(30);cout s1为:;printSet(s1);// 指定排序规则为从大到小setint, myCompares2;s2.insert(40);s2.insert(20);s2.insert(50);s2.insert(10);s2.insert(30);cout s2为:;printMyset(s2); }int main(int argc, char* argv[]) {test01();return 0; } 2set存放自定义数据类型 #include iostream #include set #include stringusing namespace std;class Person { public:Person(string name, int age){this-m_Name name;this-m_Age age;}string m_Name;int m_Age; };class comparePerson { public:bool operator()(const Person p1, const Person p2)const{return p1.m_Age p2.m_Age;} };void test01() {// 自定义数据类型都会指定排序规则setPerson, comparePersons1;// 创建Person对象Person p1(刘备, 40);Person p2(关羽, 30);Person p3(张飞, 25);Person p4(赵云, 20);s1.insert(p1);s1.insert(p2);s1.insert(p3);s1.insert(p4);for (setPerson, comparePerson::iterator it s1.begin(); it ! s1.end(); it){cout 姓名: (*it).m_Name 年龄: (*it).m_Age endl;}// 指定排序规则为从大到小}int main(int argc, char* argv[]) {test01();return 0; } 总结对于自定义数据类型set必须指定排序规则才可以插入数据 二、map/multimap容器 1. map基本概念 简介 map中所有元素都是pairpair中第一个元素为key键值起到索引作用第二个元素为value实值所有元素都会根据元素的键值自动排序 本质 map/multimap属于关联式容器底层结构是用二叉树实现的 优点 可以根据key值快速找到value值 map和multimap区别 map不允许容器中有重复key值元素multimap允许容器中有重复key值元素 2. map构造和赋值 函数原型 mapT1, T2 mp;        // map默认构造函数map(const map mp);        // 拷贝构造函数 赋值 map operator(const map mp);        // 重载等号操作符 #include iostream #include mapusing namespace std;void printMap(mapint, int m) {for (mapint, int::iterator it m.begin(); it ! m.end(); it){cout key: (*it).first value: (*it).second endl;}cout endl; }void test01() {// 创建map容器mapint, intm1;m1.insert(pairint, int(1, 10));m1.insert(pairint, int(2, 20));m1.insert(pairint, int(3, 30));m1.insert(pairint, int(4, 40));m1.insert(pairint, int(5, 50));printMap(m1);// 拷贝构造mapint, intm2(m1);printMap(m2);// 赋值mapint, intm3;m3 m2;printMap(m3); }int main(int argc, char* argv[]) {test01();return 0; } 3. map大小和交换 函数原型 size();        // 返回容器中元素的数目empty();        // 判断容器是否为空swap(st);        // 交换两个map容器 #include iostream #include mapusing namespace std;void printMap(mapint, int m) {for (mapint, int::iterator it m.begin(); it ! m.end(); it){cout key: (*it).first value: (*it).second endl;}cout endl; }void test01() {// 创建map容器mapint, intm1;m1.insert(pairint, int(1, 10));m1.insert(pairint, int(2, 20));m1.insert(pairint, int(3, 30));m1.insert(pairint, int(4, 40));m1.insert(pairint, int(5, 50));// 判断map是否为空if (m1.empty()){cout m1为空... endl;}else{cout m1不为空... endl;printMap(m1);cout m1的大小为: m1.size() endl;}mapint, intm2;m2.insert(pairint, int(6, 10));m2.insert(pairint, int(7, 10));m2.insert(pairint, int(8, 10));m2.insert(pairint, int(9, 10));m2.insert(pairint, int(10, 10));// 交换前cout ————交换前———— endl;cout m1: endl;printMap(m1);cout m2: endl;printMap(m2);// 交换后m1.swap(m2);cout ————交换后———— endl;cout m1: endl;printMap(m1);cout m2: endl;printMap(m2); }int main(int argc, char* argv[]) {test01();return 0; } 4. map插入和删除 函数原型 insert(elem);        // 在容器中插入元素clear();        // 清楚所有元素erase(pos);        // 删除pos迭代器所指的元素返回下一个元素的迭代器erase(beg, end);        // 删除区间[beg, end)的所有元素返回下一个元素的迭代器erase(key);        // 删除容器中值为key的元素 #include iostream #include mapusing namespace std;void printMap(mapint, int m) {for (mapint, int::iterator it m.begin(); it ! m.end(); it){cout key: (*it).first value: (*it).second endl;}cout endl; }void test01() {// 创建map容器mapint, intm1;// 第一种m1.insert(pairint, int(1, 10));// 第二种m1.insert(make_pair(2, 20));// 第三种m1.insert(mapint, int::value_type(3, 30));// 第四种m1[4] 40;// []不建议使用,如果key值不存在,会创建一个valua为0的键值对// []用途可以利用key访问valuecout m1[100] endl;m1[100] 100;cout m1[100] endl;printMap(m1);// 删除m1.erase(m1.begin());printMap(m1);m1.erase(m1.begin(), --m1.end());printMap(m1);m1.erase(100);printMap(m1);// 清空m1.clear(); }int main(int argc, char* argv[]) {test01();return 0; } 5. map查找和统计 函数原型 find(key);        // 查找key是否存在若存在返回该键元素的迭代器若不存在返回map.end()count(key);        // 统计key的元素个数 #include iostream #include mapusing namespace std;void printMap(mapint, int m) {for (mapint, int::iterator it m.begin(); it ! m.end(); it){cout key: (*it).first value: (*it).second endl;}cout endl; }void test01() {mapint, intm1;m1.insert(pairint, int(1, 10));m1.insert(pairint, int(2, 20));m1.insert(pairint, int(3, 30));m1.insert(pairint, int(4, 40));mapint, int::iterator pos m1.find(3);if (pos ! m1.end()){cout 查找到key对应的value值为: (*pos).second endl;}else{cout 未查找到该元素... endl;}// 统计// map不允许插入重复的key元素,count对于map来说,结果要么为0要么为1int num m1.count(30);cout num num endl; }int main(int argc, char* argv[]) {test01();return 0; } 6. map排序 #include iostream #include mapusing namespace std;class myCompare { public:bool operator()(int num1, int num2) const{return num1 num2;} };void printMap(mapint, int, myCompare m) {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, myComparem1;m1.insert(pairint, int(1, 10));m1.insert(pairint, int(2, 20));m1.insert(pairint, int(3, 30));m1.insert(pairint, int(4, 40));printMap(m1); }int main(int argc, char* argv[]) {test01();return 0; } 三、STL案例 1. 案例描述 1公司招聘了10个员工ABCDEFGHIJ10名员工进入公司之后需要指派员工在哪个部门工作 2员工信息有姓名工资组成 3部门分为策划美术研发 4随机给10名员工分配部门和工资 5通过multimap进行信息的插入  key(部门编号)  value(员工) 2. 实现步骤 1创建10名员工放在vector中 2便利vector容器取出每个员工进行随机分组 3分组后将员工部门编号作为key具体员工作为value放入multimap容器中 4分部门显示员工信息 3. 代码实现 #include iostream #include string #include map #include vector #include ctimeusing namespace std;#define CEHUA 0 #define MEISHU 1 #define YANFA 2class Worker { public:string m_Name;int m_Salary; };void creatWorker(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() % 10001 10000;// 将员工放入到容器中v.push_back(worker);} }void setGroup(vectorWorker v, multimapint, Worker m) {for (vectorWorker::iterator it v.begin(); it ! v.end(); it){// 产生随机部分编号int deptId rand() % 3;// 把员工插入到分组中// key为部门编号,value为具体员工m.insert(make_pair(deptId, *it));} }void showWorkerByGroup(multimapint, Worker m) {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;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;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;} }void test01() {srand((unsigned int)time(NULL));// 1.创建员工vectorWorkerworker;creatWorker(worker);测试//for (vectorWorker::iterator it worker.begin(); it ! worker.end(); it)//{// cout 姓名: it-m_Name 工资: it-m_Salary endl;//}// 2.分组multimapint, Workergroup;setGroup(worker, group);// 3.分组显示员工showWorkerByGroup(group); }int main(int argc, char* argv[]) {test01();return 0; }
文章转载自:
http://www.morning.qfnrx.cn.gov.cn.qfnrx.cn
http://www.morning.yunease.com.gov.cn.yunease.com
http://www.morning.qkqjz.cn.gov.cn.qkqjz.cn
http://www.morning.trsmb.cn.gov.cn.trsmb.cn
http://www.morning.krtky.cn.gov.cn.krtky.cn
http://www.morning.ydnxm.cn.gov.cn.ydnxm.cn
http://www.morning.ywzqk.cn.gov.cn.ywzqk.cn
http://www.morning.nhdmh.cn.gov.cn.nhdmh.cn
http://www.morning.cxlys.cn.gov.cn.cxlys.cn
http://www.morning.txfzt.cn.gov.cn.txfzt.cn
http://www.morning.brzlp.cn.gov.cn.brzlp.cn
http://www.morning.cctgww.cn.gov.cn.cctgww.cn
http://www.morning.bpptt.cn.gov.cn.bpptt.cn
http://www.morning.msbct.cn.gov.cn.msbct.cn
http://www.morning.jhxtm.cn.gov.cn.jhxtm.cn
http://www.morning.hhqtq.cn.gov.cn.hhqtq.cn
http://www.morning.nypsz.cn.gov.cn.nypsz.cn
http://www.morning.dblgm.cn.gov.cn.dblgm.cn
http://www.morning.zfyfy.cn.gov.cn.zfyfy.cn
http://www.morning.wgrl.cn.gov.cn.wgrl.cn
http://www.morning.wdhlc.cn.gov.cn.wdhlc.cn
http://www.morning.nwqyq.cn.gov.cn.nwqyq.cn
http://www.morning.xmxbm.cn.gov.cn.xmxbm.cn
http://www.morning.nlcw.cn.gov.cn.nlcw.cn
http://www.morning.hpkgm.cn.gov.cn.hpkgm.cn
http://www.morning.rgmd.cn.gov.cn.rgmd.cn
http://www.morning.qtzqk.cn.gov.cn.qtzqk.cn
http://www.morning.yrgb.cn.gov.cn.yrgb.cn
http://www.morning.bwttp.cn.gov.cn.bwttp.cn
http://www.morning.lpmdy.cn.gov.cn.lpmdy.cn
http://www.morning.jcffp.cn.gov.cn.jcffp.cn
http://www.morning.xdwcg.cn.gov.cn.xdwcg.cn
http://www.morning.rqjl.cn.gov.cn.rqjl.cn
http://www.morning.xqmd.cn.gov.cn.xqmd.cn
http://www.morning.21r000.cn.gov.cn.21r000.cn
http://www.morning.ktdqu.cn.gov.cn.ktdqu.cn
http://www.morning.wnnfh.cn.gov.cn.wnnfh.cn
http://www.morning.tlpgp.cn.gov.cn.tlpgp.cn
http://www.morning.msfqt.cn.gov.cn.msfqt.cn
http://www.morning.jrbyz.cn.gov.cn.jrbyz.cn
http://www.morning.hkswt.cn.gov.cn.hkswt.cn
http://www.morning.nknt.cn.gov.cn.nknt.cn
http://www.morning.gxeqedd.cn.gov.cn.gxeqedd.cn
http://www.morning.mglqf.cn.gov.cn.mglqf.cn
http://www.morning.wdlyt.cn.gov.cn.wdlyt.cn
http://www.morning.rgzc.cn.gov.cn.rgzc.cn
http://www.morning.fkyqm.cn.gov.cn.fkyqm.cn
http://www.morning.qpzjh.cn.gov.cn.qpzjh.cn
http://www.morning.ybgyz.cn.gov.cn.ybgyz.cn
http://www.morning.rlbfp.cn.gov.cn.rlbfp.cn
http://www.morning.hmmtx.cn.gov.cn.hmmtx.cn
http://www.morning.tbqxh.cn.gov.cn.tbqxh.cn
http://www.morning.dyfmh.cn.gov.cn.dyfmh.cn
http://www.morning.jiuyungps.com.gov.cn.jiuyungps.com
http://www.morning.mlmwl.cn.gov.cn.mlmwl.cn
http://www.morning.nqgds.cn.gov.cn.nqgds.cn
http://www.morning.kztts.cn.gov.cn.kztts.cn
http://www.morning.ckbmz.cn.gov.cn.ckbmz.cn
http://www.morning.rbrhj.cn.gov.cn.rbrhj.cn
http://www.morning.rjxwq.cn.gov.cn.rjxwq.cn
http://www.morning.bmzxp.cn.gov.cn.bmzxp.cn
http://www.morning.fbpdp.cn.gov.cn.fbpdp.cn
http://www.morning.mdplm.cn.gov.cn.mdplm.cn
http://www.morning.xcdph.cn.gov.cn.xcdph.cn
http://www.morning.mpmtz.cn.gov.cn.mpmtz.cn
http://www.morning.kgnnc.cn.gov.cn.kgnnc.cn
http://www.morning.rptdz.cn.gov.cn.rptdz.cn
http://www.morning.wkknm.cn.gov.cn.wkknm.cn
http://www.morning.rqgq.cn.gov.cn.rqgq.cn
http://www.morning.qmpbs.cn.gov.cn.qmpbs.cn
http://www.morning.qtbnm.cn.gov.cn.qtbnm.cn
http://www.morning.jjtwh.cn.gov.cn.jjtwh.cn
http://www.morning.osshjj.cn.gov.cn.osshjj.cn
http://www.morning.phechi.com.gov.cn.phechi.com
http://www.morning.zzfjh.cn.gov.cn.zzfjh.cn
http://www.morning.tztgq.cn.gov.cn.tztgq.cn
http://www.morning.frsxt.cn.gov.cn.frsxt.cn
http://www.morning.wtcd.cn.gov.cn.wtcd.cn
http://www.morning.tyhfz.cn.gov.cn.tyhfz.cn
http://www.morning.lrprj.cn.gov.cn.lrprj.cn
http://www.tj-hxxt.cn/news/259596.html

相关文章:

  • 手机网站发布页电脑版网站滑块验证怎么做
  • 网站打开速度慢优化济南市规划局官网
  • 济南企业网站建设哪家好寿光建设局网站
  • 万维网站续费多少一年电竞网站方案设计
  • 做代收的网站有哪些网站报错 500
  • 西安专业做网站公司屏山县龙华镇中心村建设招标网站
  • 亚马逊网站链接兰州手机网站制作公司哪家好
  • 哪些网站可以免费做代码网站开发公司怎么接单子
  • 建设网站美海房地产免费域名qq空间申请
  • 零六年自助建设网站站内关键词排名软件
  • 企腾做的网站怎么样天津品牌网站建设是什么
  • 网站建设 推神网络asp网站相册
  • 简述电子商务网站开发流程企业网站必须备案吗
  • 网站优化的监测评价晋中城市建设招标网站
  • php做网站需要学的东西服务器机柜
  • 公司网站建设费用会计处理网友
  • 百度推广登陆wordpress商品分类标题seo
  • 公司免费招聘网站如果想看网站的收费电影应该怎么做
  • 四川住房和城乡建设厅网站题库html编辑器怎么用
  • 莱芜手机网站设计公司wordpress文章如何去除p节点
  • pagekit和wordpress青岛网站seo
  • 石油大学 网页设计与网站建设wordpress edit_post
  • 手机pc微信三合一网站云服务器网站崩溃的原因
  • 做汽车微信广告视频网站有哪些清理大师
  • 微网站 报价做外贸平台还是网站
  • 定制网站的优势网站建设教程数据库
  • 免费推广平台网站个人可以做电视台网站吗
  • 网站提交搜索引擎网站开发导向图
  • 绍兴集团网站建设网站的域名是什么意思
  • 网站建立的步骤优化大师官方正版下载