sort與qsort排序方法整理

2021-08-02 08:25:50 字數 2538 閱讀 8872

qsort排序:

一、對int型別陣列排序

int num[100];

sample:

int cmp ( const void *a , const void *b )

qsort(num,100,sizeof(num[0]),cmp);

二、對char型別陣列排序(同int型別)

char word[100];

sample:

int cmp( const void *a , const void *b )

qsort(word,100,sizeof(word[0]),cmp);

三、對double型別陣列排序(特別要注意)

double in[100];

int cmp( const void *a , const void *b )

qsort(in,100,sizeof(in[0]),cmp);

四、對結構體一級排序

struct in

s[100]

//按照data的值從小到大將結構體排序,關於結構體內的排序關鍵資料data的型別可以很多種,參考上面的例子寫

int cmp( const void *a ,const void *b)

qsort(s,100,sizeof(s[0]),cmp);

五、對結構體二級排序

struct in

s[100];

//按照x從小到大排序,當x相等時按照y從大到小排序

int cmp( const void *a , const void *b )

qsort(s,100,sizeof(s[0]),cmp);

六、對字串進行排序

struct in

s[100];

//按照結構體中字串str的字典順序排序

int cmp ( const void *a , const void *b )

qsort(s,100,sizeof(s[0]),cmp);

七、計算幾何中求凸包的cmp

int cmp(const void *a,const void *b) //重點cmp函式,把除了1點外的所有點,旋轉角度排序

:

c++中載入標頭檔案 "iostream"

c中qsort函式包含在的標頭檔案裡,strcmp包含在的標頭檔案裡

sort排序

sort 使用時得註明:using namespace std; 或直接打 std::sort() 還得加上 #include 標頭檔案

例:#include

#include

using namespace std;

int main()

int main(){

int i;

int a[20];

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

cin>>a[i];

sort(a,a+5,cmp); //範圍,很明顯這裡是a+5 注意,這是必要的,如果是a+4最後乙個值a[4]就不會參與排序。

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

cout<

#include

#include

using namespace std;

bool cmp(int *p,int *q)

{if(p[0]==q[0])

{if(p[1]==q[1])

{return p[2]

成績排序 sort與qsort的使用

用一維陣列儲存學號和成績,然後,按成績排序輸出。輸入第一行包括乙個整數n 1 n 100 代表學生的個數。接下來的n行每行包括兩個整數p和q,分別代表每個學生的學號和成績。按照學生的成績從小到大進行排序,並將排序後的學生資訊列印出來。如果學生的成績相同,則按照學號的大小進行從小到大排序。示例1 3 ...

排序函式qsort和sort

qsort函式 sort函式 精心整理篇 文件 先說明一下qsort和sort,只能對連續記憶體的資料進行排序,像鍊錶這樣的結構是無法排序的。首先說一下,qsort qsort 基本快速排序的方法,每次把陣列分成兩部分和中間的乙個劃分值,而對於有多個重複值的陣列來說,基本快速排序的效率較低,且不穩定...

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