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

map容器中的“值”为vector<type>型的时候的操作

map容器中的“值”为vector<type>型的时候的操作

这其实是我之前发布的一篇文章 “map的详细用法” 的延续,如果想要掌握并熟练运用 map 容器,你可以去看一下,建议收藏,因为你并不一定能够一下全部记住。

1.数据的输入

map容器中的“值”为vector<type>型的时候,数据的存储和一般的不太一样,具体代码如下

map<string,vector<string> > res;
res["jiea"].push_back("12");
res["jiea"].push_back("23");

2.数据的遍历

此时不能直接一个for()循环输出 it->first 和 it->second 了,要用两个for()循环,具体代码如下

#include<iostream>
#include <map>
#include <vector>
using namespace std;
int main()
{map<string,vector<string> > res;res["jiea"].push_back("34");res["teaf"].push_back("45");res["jiea"].push_back("12");res["jiea"].push_back("23");map<string,vector<string> >::iterator it;for(it=res.begin();it!=res.end();it++){cout<<it->first<<" ";
//it->second 是 vector<string>类型的,就可以看作是 vector<string> v for(int i=0;i<(it->second).size();i++)cout<<(it->second)[i]<<" ";cout<<endl;} 
}

【运行结果】

3.对“值”中的数据进行排序。

这里不是对“值”进行排序,所以借不借助vector容器都可以,具体代码如下

#include<iostream>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
/*假设这里要求的排序是:"键 "升序,"值 "中的字符串按照字符串的长度升序,
若长度相等,按照字符串大小升序 */ 
bool cmp(string s1,string s2)
{if(s1.length()!=s2.length())return s1.length()<s2.length();else return s1<s2;
}
int main()
{map<string,vector<string> > res;res["jiea"].push_back("384");res["teaf"].push_back("49");res["jiea"].push_back("12");res["jiea"].push_back("3");map<string,vector<string> >::iterator it;for(it=res.begin();it!=res.end();it++){cout<<it->first<<" ";sort(it->second.begin(),it->second.end(),cmp);for(int i=0;i<it->second.size();i++)cout<<it->second[i]<<" ";cout<<endl;} 
} 

【运行结果】


http://www.mrgr.cn/news/19398.html

相关文章:

  • 如何查看Mac的处理器架构‌‌是ARM还是x86
  • 为电源而疯狂:电源处理简介
  • Gitlab-ce upgrade 16.0.1 to 17.3.1【Gitlab-ce 16.0.1 升级 17.3.1】
  • GMP级细胞因子:细胞治疗的“黄金搭档”
  • C++入门基础知识49——【关于C++数字】之定义数字
  • 游戏开发:protobuf可以使用默认值么?
  • 聊一下软件测试的组织与管理
  • 2024年第十五届蓝桥杯青少组国赛撞期GESP认证、放弃那个?
  • 力扣刷题--821. 字符的最短距离【简单】
  • 2024 第七届“巅峰极客”网络安全技能挑战赛初赛 Web方向 题解WirteUp
  • Cortex-M --- 中断向量表
  • [嵌入式] 设备没有联网的情况下如何安装库
  • 怎么摆脱非自然链接?
  • 河南省第三届职业技能大赛 网络安全(世赛选拔)项目样题
  • EE trade:为什么黄金没有100%的纯度
  • UE5 C++ 读取图片插件(一)
  • 怎么打黑神话悟空里的隐藏BOSS金池长老,黑风山关键关卡之一
  • ansible+awx搭建
  • 吐血整理(最全论文指令手册),还有 ChatGPT 3.5/4.0 新手使用手册~ 【亲测好用】
  • vue3项目 / 三子棋