對Vector中的值進行排序

2021-09-29 19:49:16 字數 1407 閱讀 1757

首先需要明確一點就是 vcetor   容器裡的最後乙個值是 end() ,即你將 0 ~ 9 十個數依次壓進 vector ,容器中的最後乙個值不是 9,而是 end(); 但是容器的大小還是10.

對 vector 使用 sort 函式,可分為三種情況:

#include該標頭檔案必必不可少

#include#include#includeusing namespace std;

int main()

cout << " prev(vec.end)" << *prev(vec.end()) << endl;

sort(vec.begin(), vec.end());

for (vector::iterator ite = a.begin(); ite != a.end(); ite++)

return 0;

}

#include#include#include#includeusing namespace std;

struct student ;

bool comp(const student &a, const student &b)

int main()

cout << "排序前:" << endl;

for (unsigned i = 0; i < vec.size(); i++)

sort(vec.begin(), vec.end(), comp);

cout << "排序後:" << endl;

for (unsigned i = 0; i < vec.size(); i++)

return 0;

}

只需要修改 comp 函式;

#include#include#include#includeusing namespace std;

struct student ;

bool comp(const student &a, const student &b)

else if(a.score == b.score && a.num < b.num)

else

}int main()

cout << "排序前:" << endl;

for (unsigned i = 0; i < vec.size(); i++)

sort(vec.begin(), vec.end(), comp);

cout << "排序後:" << endl;

for (unsigned i = 0; i < vec.size(); i++)

return 0;

}

注意一下,修改 comp函式時需要注意邏輯的完整性,也就是說一定要返回乙個值,所以 else 不可以少了。

C 對vector進行排序

title c vector排序 tags c vector,排序 grammar cjkruby true 每次都要重複造輪子真的很累,所以用別人的吧。目的 對vector進行排序 示例 記得將algorithm這個標頭檔案包括進去 include include include using na...

如何對Dictionary的值進行排序

如何對dictionary的值進行排序 在實際開發中遇到乙個比較麻煩的問題,由於資料的不規則性,所以儲存在dictionary中,這裡就有個麻煩了,如果要按照字典中的值進行排序辦呢。這裡就把解決辦法寫出來。用到的是array的sort方法。一 首先說下array的sort方法,該方法有很多實現,我們...

對vector中的pair進行多次find操作

在c 的stl中,對包含pair結構的vector,進行多次搜尋操作。中主要包括兩個關鍵點 因為vector中包含了pair結構,所以在搜尋中要用find if代替常規的find函式 需要對vector經行多次查詢操作,且需要查詢的值會發生改變,所以要利用仿函式 functor 進行傳值。inclu...