#include <stdio.h>
#define len 10
void quick_sort(int *data, int left, int right)
{
if (left >= right)
{
return;
}
int i = left;
int j = right;
int temp = data[i];
while(i < j)
{
while(i < j && temp <= data[j])
{
j--;
}
data[i] = data[j];
while(i < j && temp >= data[i])
{
i++;
}
data[j] = data[i];
}
data[i] = temp;
quick_sort(data, left, i-1);
quick_sort(data, i+1, right);
}
int main(int argc, const char *argv[])
{
int data[len] = {25, 52, 12, 6, 34, 69, 47, 58, 86, 72};
int i;
printf("----------排序前-----------\n");
for (i = 0; i < len; i++)
{
printf("%d ", data[i]);
}
puts("");
quick_sort(data, 0, len-1);
printf("----------排序后-----------\n");
for (i = 0; i < len; i++)
{
printf("%d ", data[i]);
}
puts("");
return 0;
}
快速排序-C语言
最新推荐文章于 2023-12-01 23:14:38 发布