排序和查詢可以說是計算機領域最經典的問題了,
而c++標準庫在標頭檔案algorithm中已經內建了基於快速排序的函式sort,只需呼叫這個函式,就可以輕易地完成排序。
下面簡要介紹sort函式:sort ( first, last, comp )函式有三個引數:
1. first:待排序序列的起始位址
2. last:待排序序列的最後乙個元素的下一位址,排序區間為[first, last)
3. comp:排序方式,可以不填寫,不填寫時預設為公升序方式
當然sort函式支援多種資料型別,除了int以外,比如char,double,字串等,都可以。
例1:預設公升序排序
#include #includeusing
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 #includeusing
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 #includeusing
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;
}
測試:41982903
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 每個陣...