首先需要明確一點就是 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...