map:自定义排序,初始化,以及key的替换


	struct mykey {
		int k;
		mykey(int a) {
			k=a;
		}
		bool operator<(const mykey& a)const  {
			return this->k>a.k;
		}
	};
	template<typename t>
	void replace_key(t& a,const typename t::key_type& oldk,
	                 const typename t::key_type& newk) {
		typename t::iterator pos=a.find(oldk);
		typename t::value_type temp(newk,pos->second);
        //不知道为啥定义这个temp,必须要初始化一下
		a.erase(pos);
		a.insert(typename t::value_type(newk,pos->second));
	}
	using p=pair<mykey,string>;
	int main(int argv,char** argc) {
	//	std::ios::sync_with_stdio(false);
	//	cin.tie(0);
	//	cout.tie(0);
		map<mykey,string,less<mykey>>dase {
			{
				3,"fsa"
			},
			{
				4,"Dfas"
			},
			{
				1,"o3r"
			}
		};
		using ty=decltype(dase)::value_type;
		replace_key(dase,3,100);
		for(const auto ele:dase) {
			cout<<ele.first.k<<" ";
		}
		return 0;
	}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-25 17:13
点赞 评论 收藏
分享
代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
07-20 12:08
已编辑
江南大学 图像识别
机械牛马勇闯秋招:把校园经历里面做过的项目,大作业,课设,毕设啥的,扩写,写成具体的项目经历,自我评价缩写别占篇幅,不然这简历真没东西,初筛都过不了
点赞 评论 收藏
分享
07-23 18:25
河北大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务