C 排序函式 sort 的應用及使用規則

2021-10-01 15:31:24 字數 2503 閱讀 4401

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函式是按公...