C語言資料結構 快速排序例項詳解

2022-09-27 02:12:16 字數 1056 閱讀 8740

c語言資料結構 快速排序例項詳解

一、快速排序簡介

快速排序採用分治的思想,第一趟先將一串數字分為兩部分,第一部分的數值都比第二部分要小,然後按照這種方法,依次對兩邊的資料進行排序。

二、**實現

#include

/* 將兩個資料交換 */

void swap(int* ina , int* inb)

/*程式設計客棧 進行一趟的快速排序,把乙個序列分為兩個部分 */

int getpartion(int* inarry,int inbegin,int inend)

}/* 把第乙個數放到part處去 */

swap(&inarry[inbegin],&inarry[part]);

return part;

}}/* 快速排序函式

* inarry:輸入的陣列

* inbegin:陣列的開始

* inend:陣列的結束

*/void quicksort(int* inarry,int inbegin,int inend)

int part = 0;

part = getpartion(inarry,inbegin,inend);

/* 遞迴呼叫 */

quicksort(inarry,0,part-1);

quicksort(inarry,part+1程式設計客棧,inend);

}int main()

; int index = 0;

int len = 程式設計客棧sizeof(a)/sizeof(int);

/* 先遍歷列印一下數wskttpej組的元素 */

for(index = 0; index < len; index++)

printf("\n");

/* 呼叫快速排序函式 */

quicksort(a,0,len-1);

/* 再遍歷列印一下陣列的元素 */

for(index = 0; index < len; index++)

printf("\n");

return 0;

}

快速排序 C語言資料結構

include include void swap int p1,int p2 void quick sort int a,int left,int right 函式功能 使用快速排序法進行排序 從小到大 函式原型 void quick sort int a,int left,int right 函...

c語言資料結構之 快速排序

編譯器 vs2013 1 include stdafx.h 2 include3 include45 函式宣告67 void quicksort int a,int n 快速排序 從小到大 8void qsort int a,int m,int n 快速排序的遞迴呼叫 9int pratition ...

資料結構 快速排序C語言程式

由大到小 快速排序 待排序陣列,左側起點,右側起點 void quicksort int array,int l,int r for i quicksort array,l,i 1 quicksort array,j 1 r 成績排名處理,同分數同名次,後面的人順延,99 99 95 60,排名為 ...