//templatebool 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 上述代码可以解决这个问题,上段代码的调用方式如下:
?
vectora; 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了。 ?
?