📜  用于快速排序的函数 - C 编程语言代码示例

📅  最后修改于: 2022-03-11 15:04:41.209000             🧑  作者: Mango

代码示例1
#include

void swap(int* a, int* b)

{

int t = *a;

*a = *b;

*b = t;

}

int partition (int arr[], int low, int high)

{

int pivot = arr[high];

int i = (low - 1);

for (int j = low; j <= high- 1; j++)

{

if (arr[j] <= pivot)

{

i++;

swap(&arr[i], &arr[j]);

}

}

swap(&arr[i + 1], &arr[high]);

return (i + 1);

}

void quickSort(int arr[], int low, int high)

{

if (low < high)

{

int pi = partition(arr, low, high);

quickSort(arr, low, pi - 1);

quickSort(arr, pi + 1, high);

}

}

void printArray(int arr[], int size)

{

int i;

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

printf("%d ", arr[i]);

printf("n");

}

int main()

{

int arr[] = ;

int n = sizeof(arr)/sizeof(arr[0]);

quickSort(arr, 0, n-1);

printf("The sorted array is: n");

printArray(arr, n);

return 0;

}