C 標準庫函式之用於排序的sort函式

2022-07-22 06:45:13 字數 1841 閱讀 9025

排序和查詢可以說是計算機領域最經典的問題了,

而c++標準庫在標頭檔案algorithm中已經內建了基於快速排序的函式sort,只需呼叫這個函式,就可以輕易地完成排序。

下面簡要介紹sort函式:sort ( first, last, comp )函式有三個引數:

1. first:待排序序列的起始位址

2. last:待排序序列的最後乙個元素的下一位址,排序區間為[first, last)

3. comp:排序方式,可以不填寫,不填寫時預設為公升序方式

當然sort函式支援多種資料型別,除了int以外,比如char,double,字串等,都可以。

例1:預設公升序排序

#include #include 

using

namespace

std;

intmain()

; cout

<< "

排序前:";

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

cout

排序:預設公升序

cout << "

排序後:";

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

return0;

}

輸出結果:

排序前:36

147排序後:13

467

例2:降序排序,自己編寫乙個排序方式

#include #include 

using

namespace

std;

bool compare (int x, int y) //

降序排序

intmain()

; cout

<< "

排序前:";

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

cout

排序 : 使用降序排序方式

cout << "

排序後:";

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

return0;

}

輸出結果:

排序前:36

147排序後:76

431

例3:通過自己定義排序方式,可以實現許多場景的排序

比如:對學生成績進行排序,按照從高到低進行排序,並將學生資訊列印。學生資訊包括學號,成績;如果學生成績相同,那麼按學號的大小從小到大排序。

#include #include 

using

namespace

std;

struct

student ;

const

int maxn = 100

;student arr[maxn];

bool

compare (student x, student y)

else

} int

main()

sort(arr, arr +n, compare);

cout

return0;

}

測試:41

982903

984891

983982

90489

C 標準庫函式

有許多不同的案件中,陣列排序的可能是有用的。演算法 如搜尋看看一些存在於乙個陣列 通常可以變得更簡單和 或更有效時,輸入的資料進行排序。此外,排序是非常有用的可讀性,如當列印列表按字母順序排列的名字。排序通常是通過反覆比較的陣列元素對進行的,和交換他們如果他們滿足一些標準。為了在這些元素進行比較根據...

C 標準庫函式

c 程式通常可以呼叫標準c 庫中的大量函式。這些函式完成一些基本的服務,如輸入和輸出等,同時也為一些經常使用的操作提供了高效的 實現 這些函式中含有大量的函式和類定義,以幫助程式設計師更好地使用標準c 庫。標準c 庫包含以下內容 和 標準c 庫的詳細訊息均在其對應的標頭檔案進行了說明。主要標準c 庫...

標準庫函式qsort排序

qsort函式包含在的標頭檔案裡。qsort函式宣告如下 void qsort void base,size t nmemb,size t size,int compar const void const void 引數說明如下 base 要排序的陣列 nmemb 陣列中的元素數目 size 每個陣...