//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了。