设为首页 加入收藏

TOP

C++中vector的排序问题
2015-11-21 00:58:05 来源: 作者: 【 】 浏览:1
Tags:vector 排序 问题
在用vector排序的时候,发现sort()函数有一个问题,sort排序只会返回排序后的结果,不会返回每个排序后的结果在原来的编号。
//template
  
   
bool cmp(const pair
   
     &x,const pair
    
      &y) { return x.second > y.second; } //template
     
       void sortVector(vector
      
        &value, vector
       
         &lable) { lable.clear(); // 定义一个键值对的数组,第一个Int是键,第二个Int是值 vector
        
         > theMap; for(vector
         
          ::size_type i=0; i
          
           >::size_type i=0; i
           
            

上述代码可以解决这个问题,上段代码的调用方式如下:

?

	vector
             
               a;
	a.push_back(1);
	a.push_back(2);
	a.push_back(4);
	a.push_back(3);

	vector
              
                lable; sortVector( a, lable); cout<
               
                 原理其实很简单,就是把数据与编号组成一个键值对,然后把这些键值对定义成一个vector<>变量,再用sort函数对vector排序就OK了。
                

?

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇leetcode 229: Majority Element .. 下一篇HDU 5073 Galaxy(贪心)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: