C語言快速排序函式qsort

2021-10-06 19:30:15 字數 1089 閱讀 3572

qsor函式的結構

qsort

(nums,numssize,

sizeof

(int

),cmp)

nums : 陣列的首位址

numssize: 陣列中的元素個數

sizeof(of):陣列中每個元素的位元組長度

cmp:排序方式

關於cmp有兩種形式

1.遞增

int

cmp(

const

void

*a,const

void

*b)

2.遞減

int

cmp(

const

void

*a,const

void

*b)

給個栗子:陣列中的第k個最大元素leetcode215

題目描述:

在未排序的陣列中找到第 k 個最大的元素。請注意,你需要找的是陣列排序後的第 k 個最大的元素,而不是第 k 個不同的元素。

示例一:

輸入:[3

,2,1

,5,6

,4] 和 k =

2輸出:

5

示例二:

輸入:[3

,2,3

,1,2

,4,5

,5,6

] 和 k =

4輸出:

4

這道題使用上面的qsort()函式很容易ac;

下面給出**:

int

cmp(

const

void

*a,const

void

*b)//比較函式

intfindkthlargest

(int

* nums,

int numssize,

int k)

C語言快速排序函式qsort

標頭檔案 include 函式原型 void qsort void base,size t nmemb,size t size,int compar const void const void 引數介紹 引數size 表示該陣列中每個元素的大小 位元組數 通常sizeof int 引數 compar...

C語言快速排序函式 qsort

include include include include typedef struct inin typedef struct char char 對字串排序函式 int ptr 7 const void a,const void b 結構體一級排序函式 int ptr 5 const voi...

qsort 函式之快速排序

qsort 函式是ansi c標準中提供的,在標頭檔案中 是根據二分法寫的,時間複雜度為 n log n 原型 void qsort void base,size t nelem,size t width,cmp base 為要排序的陣列 nelem 為排序陣列的長度 width 為陣列元素的大小 ...