#include <stdio.h>
#define DATA_ARRAY_LENGTH 12
void quick(int *data, int left, int right)
{
if (left >= right) return;
int i = left;
int j = right;
int key = data[left];
while (i < j)
{
while (i < j && data[j] >= key)
{
j--;
}
data[i] = data[j];
while (i < j && data[i] <= key)
{
i++;
}
data[j] = data[i];
}
data[i] = key;
quick(data, left, i - 1);
quick(data, i + 1, right);
}
void quick_sort(int *data, int len)
{
quick(data, 0, len-1);
}
void main()
{
int i = 0;
int data[DATA_ARRAY_LENGTH] = {23, 64, 24, 12, 9, 16, 53, 57, 71, 79, 87, 97};
quick_sort(data, DATA_ARRAY_LENGTH);
for(i = 0; i < DATA_ARRAY_LENGTH; i++)
{
printf("%4d", data[i]);
}
printf("\n");
}
快速排序
最新推荐文章于 2021-11-19 16:57:43 发布