sort()函式的標頭檔案#include
#include
#include
using
namespace std;
intmain()
;for
(i=0
;i<
10;i++
) cout<<<
" ";
cout
(a,a+10)
;for
(i=0
;i<
10;i++
) cout<<<
" ";
return0;
}
ps:sort()把陣列a按公升序排列,因為sort()預設為公升序。
如何利用sort()實現降序排序?
#include
#include
using
namespace std;
bool
compare
(int a,
int b)
intmain()
;for
(i=0
;i<
10;i++
) cout<<<
" ";
cout
(a,a+
10,compare)
;for
(i=0
;i<
10;i++
) cout<<<
" ";
return0;
}
#include
#include
#include
using
namespace std;
intmain()
;for
(i=0
;i<
10;i++
) cout<<<
" ";
cout
(a,a+
10,greater<
int>()
);for(i=
0;i<
10;i++
) cout<<<
" ";
return0;
}
補充思考:
sort函式有sort(),stable_sort()和partial_sort()
a. sort()函式是對給定區間的元素進行排序,但是會改變值相同的元素的相對位置。
b. stable_sort()是對給定區間的元素進行穩定排序,如果兩個元素相等,那麼排序完成後兩個元素的相對位置保持不變,c.partial_sort()是對給定區間的元素進行部分排序。預設的順序是由小到大進行排序。
三種函式的用法如下(v為容器):
sort(v.begin(),v.begin()+4,comp);
sort(v.begin(),v.end(),comp);
stable_sort(v.begin(),v.end(),comp)
stable_sort的用法與sort類似
partial_sort(v.begin(),v.begin()+4,v.end());
partial_sort(v.begin(),v.begin()+4,v.end(),comp);
題目描述
定義乙個學生結構體型別student,包括4個字段,姓名、性別、年齡和成績。然後在主函式中定義乙個結構體陣列(長度不超過1000),並輸入每個元素的值,程式使用氣泡排序法將學生按照成績從小到大的順序排序,然後輸出排序的結果。
輸入
第一行是乙個整數n(n< 1000),表示元素個數;接下來n行每行描述乙個元素,姓名、性別都是長度不超過20的字串,年齡和成績都是整型。
輸出
按成績從小到大輸出所有元素,若多個學生成績相同則成績相同的同學之間保留原來的輸入順序。
樣例輸入
3alice female 18 98
bob male 19 90
miller male 17 92
樣例輸出
bob male 19 90
miller male 17 92
alice female 18 98
#include
using
namespace std;
struct students[
1005];
bool
cmp(student a,student b)
intmain()
stable_sort
(s,s+n,cmp)
;for
(int i=
0;i)return0;
}
sort的排序及使用
sort 方法在適當的位置對陣列的元素進行排序,並返回陣列。陣列會按照字元的unicode進行排序 把陣列裡面當成字串處理 1.按公升序排列 var arr 1,11,2,22,5,4,0 arr.sort function n1,n2 alert arr 0,1,2,4,5,11,22 2.隨機排...
C語言中sort 排序函式應用
sort first pointer,first pointer n,cmp 該函式可給陣列,或者鍊錶list 向量排序。實現原理 sort並不是簡單的快速排序,它對普通的快速排序進行了優化,此外,它還結合了插入排序和推排序。系統會根據你的資料形式和資料量自動選擇合適的排序方法,這並不是說它每次排序...
C 排序函式(sort與qsort)的應用
msdn中的定義 templatevoid sort ranit first,ranit last 1 templatevoid sort ranit first,ranit last,pred pr 2 標頭檔案 include using namespace std 1.預設的sort函式是按公...