C語言版快速排序

2021-09-19 09:26:28 字數 712 閱讀 5505

#includevoid quicksort(int , int);

int a[101],n,t,temp; //定義全域性變數,這三個變數需要在子涵數中使用。

int main(void)

printf("\n");

quicksort(1,n);

for(int i = 1; i <= n; i++ )

getchar();getchar(); //用來暫停程式,便於檢視程式輸出結果,可用system("pause");等代替

return 0;

}void quicksort(int left, int right)

temp = a[left]; //temp中存放著基準數

while( i != j )

while(a[i] <= temp && i < j)

if( i < j )

} a[left] = a[i]; // 將基數歸位,

a[i] = temp;

quicksort(left, i-1); //繼續處理左邊的,這裡是乙個遞迴過程。

quicksort(i+1, right); // 繼續處理右邊的,這裡是乙個遞迴過程。

經典排序 快速排序 C語言版

快速排序 選取陣列的第乙個數作為軸,從末尾的數字開始比較,當比軸小則與軸交換位置,在用軸與開頭的數字進行比較,當比軸大則與軸交換位置,最終確定軸的位置。之後從軸的位置將陣列分為兩個部分,對各個部分重複選軸定軸的操作 include int partition int s,int low,int hi...

快速排序Qsort C語言版

快速排序 quicksort 是分治法的典型例子,它的主要思想是將乙個待排序的陣列以陣列的某乙個元素x為軸,使這個軸的左側元素都比x小,而右側元素都比x大 從小到大排序 然後以這個x在變換後陣列的位置i分為左右兩個子陣列,再分別進行快速排序,直到子陣列中只有乙個元素為止。分治法將原有問題分解成若干個...

快速排序(QuickSort) C語言版

include include define maxsize 20 順序表的最大長度 typedef int keytype 定義關鍵字型別為整數型別 typedef struct redtype 記錄型別 typedef struct sqlist 順序表型別 quicksort int part...