程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++中vector的排序問題

C++中vector的排序問題

編輯:C++入門知識

C++中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了。

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved