/* ============== Program Description ============= */
/* Freshare's 8th of dswork */
/* ================================================== */
/* 没有优化程序,只是实现了功能 (05年6月13日 最后一个数据结构作业)*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int R[255];
int partition(int R[],int low,int high)
{ int i,j;
int temp;
i=low;
j=high;
temp=R[low];
while(i<j)
{
while((R[j]>=temp)&&(i<j)) j--;
if (i<j) R[i++]=R[j];
while((R[i]<=temp)&&(i<j)) i++;
if (i<j) R[j--]=R[i];
}
R[i]=temp;
return i;
}
void quicksort(int R[],int low,int high)
{
int poivotloc;
if(low<high)
{
poivotloc=partition(R,low,high);
quicksort(R,low,poivotloc-1);
quicksort(R,poivotloc+1,high);
}
}
void main()
{
int i,k,l;
char ch1,ch2;
printf("请输入数据个数:");
scanf("%d",&l);
printf("请依次输入%d个数据:/n",l);
for(i=1;i<=l;i++)
scanf("%d",&R[i]);
quicksort(R,1,l);
printf("快速排序后的结果:/n");
for(i=1;i<=l;i++)
printf("%d ",R[i]);
printf("/n");
}