C 中vector的排序問題

2021-07-03 15:47:17 字數 542 閱讀 6078

在用vector排序的時候,發現sort()函式有乙個問題,sort排序只會返回排序後的結果,不會返回每個排序後的結果在原來的編號。//templatebool cmp(const pair&x,const pair&y)

//templatevoid 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);

vectorlable;

sortvector( a, lable);

cout《變數,再用sort函式對vector排序就ok了。

C 中的vector排序問題

最近做的東西,要將vector 中的內容輸出,結果發現有些檔案被交替反覆開啟,所以就想吧vector 中的元素排序,學習中發現下面這篇文章總結的挺好的,分享一下也 c 中當 vector 中的資料型別為基本型別時我們呼叫std sort函式很容易實現 vector中資料成員的公升序和降序排序,然而當...

vector排序問題

要對vector中的自定義型別進行排序,首先需要提供乙個函式bool comp const interval a,const interval b 來定義型別的排序準則 然後呼叫std sort intervals.begin intervals.end comp 寫了幾個小的測試用例也都通過了,但...

vector中的排序

第一種方法 include stdafx.h include include include using namespace std struct assesstypeinfo bool operator const assesstypeinfo rhs const 降序排序時必須寫的函式 int ...