(map&C++)(五、排序)sort

注意:map本身是按照key值进行升序排序,如果升序不必管理

因为sort函数对有序函数进行排序,所以需要和vector配合使用

1.对key进行降序处理

	map<string ,string> m;
   	m["abc"] = "456";m["def"]="789";m["ghi"]="123";
   	vector<PAIR> vec(m.begin(),m.end());
   	for(map<string,string>::iterator it = m.begin(); it != m.end(); it++){
   		cout<<it->first<<"->"<<it->second<<endl;
	}
	cout << "----------(原本升序)华丽的分割线(排序后如下)------------" << endl;
	sort(vec.begin(),vec.end(),cmp);
	for(int i = 0; i < vec.size(); i++){
		cout << vec[i].first << "->" << vec[i].second << endl;
	}

结果:

在这里插入图片描述

2.对value进行排序

	map<string ,string> m;
   	m["abc"] = "456";m["def"]="789";m["ghi"]="123";
   	vector<PAIR> vec(m.begin(),m.end());
   	for(map<string,string>::iterator it = m.begin(); it != m.end(); it++){
   		cout<<it->first<<"->"<<it->second<<endl;
	}
	cout << "----------(原本key升序)华丽的分割线(排序后value升序)------------" << endl;
	sort(vec.begin(),vec.end(),cmp);
	for(int i = 0; i < vec.size(); i++){
		cout << vec[i].first << "->" << vec[i].second << endl;
	}

结果:

在这里插入图片描述

3.对value进行降序就不写了(同2)

发布了42 篇原创文章 · 获赞 40 · 访问量 957

猜你喜欢

转载自blog.csdn.net/weixin_44635198/article/details/104545158