本文共 649 字,大约阅读时间需要 2 分钟。
#include <stdio.h>
#define N 16
int data[N] = {14,10,11,90,6,15,0,80,97,13,12,26,1,35,9,42};
void quick_sort(int data[], int low, int high)
{
int i, j, pivot;
if (low < high)
{
pivot=data[low];
i=low;
j=high;
while(i<j)
{
while (i<j && data[j]>=pivot)
j--;
//if(i<j)
data[i]=data[j]; //将比枢轴记录小的记录移到低端
while (i<j && data[i]<=pivot)
i++;
if(i<j)
data[j]=data[i]; //将比枢轴记录大的记录移到高端
}
data[i]=pivot; //枢轴记录移到最终位置
quick_sort(data,low,i-1);
quick_sort(data,i+1,high);
}
}
void main()
{
int i;
printf("待排序的数据:\n");
for (i=0; i<N; i++) {printf("%3d",data[i]);} ;
quick_sort(data,0,N-1);
printf("快速排序后的数据:\n");
for (i=0; i<N; i++) {printf("%3d",data[i]);} ;
}
转载地址:https://blog.csdn.net/limuzi13/article/details/7854720 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!