#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语言
最新推荐文章于 2025-04-28 19:29:01 发布
本文介绍了一个使用C语言实现的快速排序算法。通过递归方式,实现了对整型数组的高效排序,并展示了排序前后数组的变化情况。

1536

被折叠的 条评论
为什么被折叠?



