1 成績排序 sort函式的使用

2021-09-22 19:58:03 字數 1008 閱讀 4819

對陣列進行排序,可呼叫c++標準庫中的sort函式,使用方便。且效率高,相當於快速排序的效率。時間複雜度為n*log2(n)

一.c++標準庫里的排序函式的使用方法

1.sort函式包含在標頭檔案為#include的c++標準庫中,在程式的開始要包含這個檔案。

2.sort函式的三個引數

(1)第乙個是要排序的陣列的起始位址。

(2)第二個是結束的位址(最後一位要排序的位址)

(3)第三個引數是排序的方法,可以是從大到小也可是從小到大,還可以不寫第三個引數,此時預設的排序方法是從小到大排序。

使用模板:sort(start,end,排序方法)

3.舉例

例一:sort函式沒有第三個引數,實現的是從小到大

#include#includeusing namespace std;

int main()

; for(int i=0;i<10;i++)

cout《例二:如果實現從大到小,或者按照其他的排序規則進行排序的話,需要第三個引數的使用。以從大到小排序為例,首先,需要定義乙個比較函式 complare(),此函式的實現過程是這樣的。

bool complare(int a,int b)

這就是告訴程式要從大到小排序

#include#includeusing namespace std;

bool complare(int a,int b)

int main()

; for(int i=0;i<10;i++)

cout《假設自己定義了乙個結構體

struct node

有乙個node型別的陣列node arr[100],想對它進行排序:先按a值公升序排列,如果a值相同,再按b值降序排列,如果b還相同,就按c降序排列。就可以寫這樣乙個比較函式:

bool cmp(node x,node y)

68 成績排序

題目描述 查詢和排序 題目 輸入任意 使用者,成績 序列,可以獲得成績從高到低或從低到高的排列,相同成績 都按先錄入排列在前的規則處理。例示 jack 70 peter 96 tom 70 smith 67 從高到低 成績 peter 96 jack 70 tom 70 smith 67 從低到高 ...

1178 成績排序

問題描述 給出班裡某門課程的成績單,請你按成績從高到低對成績單排序輸出,如果有相同分數則名字字典序小的在前。輸入 第一行為n 0 n 20 表示班裡的學生數目 接下來的n行,每行為每個學生的名字和他的成績,中間用單個空格隔開。名字只包含字母且長度不超過20,成績為乙個不大於100的非負整數。輸出 把...

1178 成績排序

問題描述 給出班裡某門課程的成績單,請你按成績從高到低對成績單排序輸出,如果有相同分數則名字字典序小的在前。輸入 第一行為n 0 n 20 表示班裡的學生數目 接下來的n行,每行為每個學生的名字和他的成績,中間用單個空格隔開。名字只包含字母且長度不超過20,成績為乙個不大於100的非負整數。輸出 把...