vector排序問題

2021-08-01 11:44:44 字數 455 閱讀 1119

要對vector中的自定義型別進行排序,首先需要提供乙個函式bool comp(const interval & a, const interval & b) 來定義型別的排序準則 

然後呼叫std::sort(intervals.begin(),intervals.end(),comp)  寫了幾個小的測試用例也都通過了,但是當整合在類中的時候編譯遇到問題,

line 30: no matching function for call to 'sort(std::vector::iterator, std::vector::iterator, )'

剛開始以為是型別不對,改用指標也不行,換用qsort進行排序也不行,折騰了好長時間終於找到資料

原來當comp作為類的成員函式時,預設擁有乙個this指標,這樣和sort函式所需要使用的排序函式型別不一樣。解決方法是將comp改為非成員函式,或者改用靜態函式。

C 中的vector排序問題

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

C 中vector的排序問題

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

vector中的排序

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