//
// main.c
// 快排
//
// Created by HISS on 2021/2/10.
//
#include <stdio.h>
int n;
int getmid(int array[], int left, int right)
{
int key = array[left];
while(left < right)
{
while(left < right && array[right] >= key)
right --;
if(left < right)
array[left] = array[right];
while(left < right && array[left] <= key)
left ++;
if(left < right)
array[right] = array[left];
}
array[left] = key;
return left;
}
void quicksort(int array[], int left, int right)
{
if(left >= right)
return;
int mid = getmid(array, left, right);
quicksort(array, left, mid - 1);
quicksort(array, mid + 1, right);
}
int main(int argc, const char * argv[]) {
printf("Please input the number of the array:\n");
scanf("%d", &n);
int array[n];
printf("Please input the elements of the array:\n");
for(int i = 0; i < n; i ++)
scanf("%d", &array[i]);
quicksort(array, 0, n - 1);
printf("After quick sort:\n");
for(int i = 0; i < n - 1; i ++)
printf("%d ", array[i]);
printf("%d\n", array[n - 1]);
return 0;
}
01-04
483