//作者Geeksun 2017.11.19
#include <stdio.h>
int num[100];
void quicksort(int left,int right);
void quicksort(int left,int right);
int main()
{
int i,n;
scanf("%d",&n);
for(i = 0;i < n;i++)
{
scanf("%d",&num[i]);
}
quicksort(0,n - 1);
for(i = 0;i < n;i++)
{
printf("%d ",num[i]);
}
return 0;
}
{
int i,n;
scanf("%d",&n);
for(i = 0;i < n;i++)
{
scanf("%d",&num[i]);
}
quicksort(0,n - 1);
for(i = 0;i < n;i++)
{
printf("%d ",num[i]);
}
return 0;
}
void quicksort(int left,int right)
{
int temp,t,i,j;
if(left >= right)
{
return;
}
temp = num[left];
i = left;
j = right;
while(i < j)
{
while(num[j] > temp&&i < j)
{
j--;
}
while(num[i] <= temp&&i < j)
{
i++;
}
if(i < j)
{
t = num[j];
num[j] = num[i];
num[i] = t;
}
}
num[left] = num[i];
num[i] = temp;
quicksort(left,i - 1);
quicksort(i + 1,right);
return;
}
{
int temp,t,i,j;
if(left >= right)
{
return;
}
temp = num[left];
i = left;
j = right;
while(i < j)
{
while(num[j] > temp&&i < j)
{
j--;
}
while(num[i] <= temp&&i < j)
{
i++;
}
if(i < j)
{
t = num[j];
num[j] = num[i];
num[i] = t;
}
}
num[left] = num[i];
num[i] = temp;
quicksort(left,i - 1);
quicksort(i + 1,right);
return;
}
本文提供了一个使用C语言实现的快速排序算法示例代码。该程序首先读取用户输入的一系列整数,然后通过递归的方式进行快速排序,并最终输出排序后的结果。此代码为理解快速排序的工作原理和实现细节提供了良好的参考。
775

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



