map、queue、priority 办公室网络布线方案 • 2022-12-18 • 随笔 • 阅读 77 map、queue、priority 一、map(映射) 常用函数: #include #include using namespace std; int main(){ mapa; //定义 a['c']=11; a['c']=22; //map中的键是唯一的('c'为键,22为值) a['z']=55; a['b']=76; a['n']=41; a['k']=0; cout<::iterator it=a.begin(); //迭代器 for(it;it!=a.end();it++) //通过的迭代器访问 cout<first<<" "<second<::iterator lz=a.begin();lz!=a.end();lz++) cout<first<<" "<second< 输出 注:1.如果是字符串到整型的映射,必须使用string而不能用char数组。 2.map的键和值可以是STL容器,如: map,int>mp; 二、queue(队列) 常用函数: #include #include using namespace std; int main(){ queuea; //定义 for(int i=1;i<=5;i++) a.push(i); //元素入队 cout< 输出 注意:在使用front()和back()前,必须用empty()判断队列是否为空,否则可能会出现错误。 三、priority_queue(优先队列) 1、常用函数与queue的push()、empty()、size()相同,两者函数pop()有点不同。 优先队列没有front()和back(),但有函数top() #include #include using namespace std; int main(){ priority_queuea; for(int i=1;i<=5;i++) a.push(i); if(a.empty()==true){ cout<<"Empty"< 输出 5 4 注意:在优先队列中,队首元素一定是当前队列中优先级最高的那一个。 2、priority_queue内优先级 (1)默认数字(字典序)越大优先级越高。 priority_queuea; priority_queue,less >a; 以上两种定义是一样的。 可以通过以下定义使数字越小优先级越大 priority_queue,greater >a; (2)对于结构体来说,可通过与sort差不多的方式来实现 #include #include using namespace std; struct zz{ string n;int p; }r1,r2,r3; struct cmp{ bool operator ()(zz a,zz b){ return a.p>b.p; } }; int main(){ priority_queue,cmp> a; r1.n="No.1";r1.p=6; r2.n="No.2";r2.p=4; r3.n="No.3";r3.p=1; a.push(r1); a.push(r2); a.push(r3); if(a.empty()==true)cout<<"Empty"< 输出 No.3 1 四、stack(栈) 常用函数: #include #include using namespace std; int main(){ stack a; for(int i=1;i<=5;i++) a.push(i); //入栈 if(a.empty()==true) //检测stact是否为空 cout<<"Empty"< 输出 5 4 五、pair 可以看作一个内部有两个元素的结构体。 常见用法: #include #include using namespace std; int main(){ paira('s',7); pairb(1,8); pairc(1,6); if(b>c)cout<<"b>c"<d; d.insert(a); d.insert(make_pair('a',2)); d.insert(pair('j',0)); //pair可作为map的键值对来进行插入 for(map::iterator it=d.begin();it!=d.end();it++) cout<first<<" "<second< 输出 欢迎分享,转载请注明来源:内存溢出原文地址: http://outofmemory.cn/zaji/5719144.html 队列 函数 优先级 输出 元素 赞 (0) 打赏 微信扫一扫 支付宝扫一扫 办公室网络布线方案 一级用户组 0 0 生成海报 每日一题 1765. 地图中的最高点 上一篇 2022-12-18 嵌入式C第一次学习 下一篇 2022-12-17 发表评论 请登录后评论... 登录后才能评论 提交 评论列表(0条)
评论列表(0条)