關於std::list中的sort()
list::sort
void sort();
template
void sort(pred pr);
這兩個成員函式都會按下面所描述的謂詞來對被控序列中的元素排序。
假設迭代器pi指向位於位置i處的元素,pj指向位於位置j處的元素,當i
#include
struct mystruct
for(i=9;i>-1;i--)
std::list::iterator nitem;
printf("/nmylist排序前:/n");
for(nitem =mylist.begin();nitem !=mylist.end();nitem++)
mylist.sort();
printf("/nmylist排序後:/n");
for(nitem =mylist.begin();nitem !=mylist.end();nitem++)
std::list::iterator item;
printf("/nmystructlist排序前:/n");
for(item =mystructlist.begin();item !=mystructlist.end();item++)
mystructlist.sort();
printf("/nmystructlist按成員nstart排序後:/n");
for(item =mystructlist.begin();item !=mystructlist.end();item++)
printf("/n");
return 0;
}結果為:排序
mylist排序前:
9 8 7 6 5 4 3 2 1 0
mylist排序後:
0 1 2 3 4 5 6 7 8 9
mystructlist排序前:
nstart=9 nstart=8 nstart=7 nstart=6 nstart=5
nstart=4 nstart=3 nstart=2 nstart=1 nstart=0
mystructlist按成員nstart排序後:
nstart=0 nstart=1 nstart=2 nstart=3 nstart=4
nstart=5 nstart=6 nstart=7 nstart=8 nstart=9
關於sort 的疑問?
對於不同型別的資料從小到大排序可以直接用sort 函式排,但是如果是從大到小排序,就得寫一個比較函式了,怎麼辦呢?我的第一想法就是利用函式模板寫一個cmp 函式,如下 所示,但是這串 是通不過編譯的,include include using namespace std template bool ...
關於python中的sort()的用法及引數說明
python中提供sort 函式用於列表的排序,sort 函式共有兩個引數,分別為 key和reverse 其中key用於指定一個函式,即key 函式,即為排序提供一種方法 reverse意為翻轉的意思,可以呈現為降序排序等。b p py pyt pyth pytho python 讓sort函式按...
關於List的sort方法
我喜歡簡單,不喜歡囉嗦,直切主題,廢話不說。list 排序提供了很多的方法,較早的時候使用的方法是在例項型別上實現icomparable介面的compareto方法,還可以單獨寫一個類來實現icompare介面的compare方法。有了linq之後就簡單多了,不在需要使用lsit.sort new ...
STL中關於list容器的sort函式詳解
因為在stl中stl algo中提供有sort函式,他的函式原型 template inline void sort randomaccessiterator first,randomaccessiterator last template inline void sort randomaccess...
關於c 中vector和set使用sort方法
1.vector,set,map這些容器的end 取出來的值實際上並不是最後一個值,而end的前一個才是最後一個值!需要用prev end 才能取出容器中最後一個元素。2.對vector使用sort函式 第一種情形 基本型別,如vector,vector,vector也是可以的 cout a.end...