用sort 函式,要加標頭檔案以及using namespace std;另外檔案的字尾要改為.cpp
用qsort函式,要加標頭檔案這個是c裡的,檔案的字尾可以是.c
int型:
sort函式:
int cmp(int a,int b)
return a>b;//(從大到小)return aqsort函式:
int cmp(const void *a,const void *b)
return *(int *)a-*(int *)b;//(從大到小)return *(int *)b-*(int *)a;(從小到大)
double 型:
sort函式:
int cmp(double a,double b)
if(a>b)return 1;//(從大到小)if(areturn -1;
qsort函式:
int cmp(const void *a,const void *b)
if(*(double *)a>*(double *)b)return 1;//(從大到小)if(*(double *)b>*(double *)a)return 1;(從小到大)
return -1;
char 型:
sort函式:
int cmp(char a,char b)
return a>b;//(從大到小)return aqsort函式:
int cmp(const void *a,const void *b)
return *(char *)a>*(char *)b;//(從大到小)return *(char *)b>*(char *)a;(從小到大)
}字串型:
包含標頭檔案
qsort函式:
int cmp(const void *a,const void *b)
return strcmp((char *)a,(char *)b);//(從大到小)return strcmp((char *)b,(char *)a);(從小到大)因為字串比較函式直接用的是位址,so。。。。
}結構體型:
struct node
int a;
char b;
double t;
char s[101];
}stu[1001];
sort函式:
int cmp(node c,node d)
return c.a>d.a;//return c.a//return c.b>d.b;//return c.b//if((*(node *)c).t>(*(node *)d).t)return 1;return 0;
//return strcmp(c.s,d.s);//return strcmp(d.s,c.s);
//if(c.a==d.a)return c.b}
qsort函式:
int cmp(const void *c,const void *d)
{return (*(node *)c).a-(*(node *)d).a;//return (*(node *)c).a>(*(node *)d).a;
//return (*(node *)c).b-(*(node *)d).b;//return (*(node *)c).b>(*(node *)d).b;
//if((*(node *)c).t>(*(node *)d).t)return 1;return 0;
//return strcmp((*(node *)c).str,(*(node *)d).str)//return strcmp((*(node *)c).str,(*(node *)d).str);
//if((*(node *)c).a==(*(node *)d).a) return (*(node *)c).b>(*(node *)d).b;
呼叫時sort函式有三個引數例如陣列a:sort(a,a+n,cmp);//n為排序的長度
呼叫qsort函式時有四個引數例如陣列a:qsort(a,n,sizeof(a),cmp);//n為排序長度,sizeof()求所佔記憶體的吧
qsort與sort函式中cmp的編寫方法與解析
在使用c c 語言進行程式設計時,為了方便起見,我們在排序時經常呼叫系統提供的排序函式來完成部分排序功能,本文將介紹qsort與sort函式的用法,尤其是其cmp函式的編寫方法。c語言中,編譯器函式庫自帶的快速排序函式。標頭檔案 stdlib.h qsort 的函式原型是void qsort voi...
qsort函式和sort函式
做acm題的時候,排序是一種經常要用到的操作。如果每次都自己寫個冒泡之類的o n 2 排序,不但程式容易超時,而且浪費寶貴的比賽時間,還很有可能寫錯。stl裡面有個sort函式,可以直接對陣列排序,複雜度為n log2 n 使用這個函式,需要包含標頭檔案 include 這個函式可以傳兩個引數或三個...
排序函式qsort和sort
qsort函式 sort函式 精心整理篇 文件 先說明一下qsort和sort,只能對連續記憶體的資料進行排序,像鍊錶這樣的結構是無法排序的。首先說一下,qsort qsort 基本快速排序的方法,每次把陣列分成兩部分和中間的乙個劃分值,而對於有多個重複值的陣列來說,基本快速排序的效率較低,且不穩定...