main.cpp
#include<stdio.h>
typedef int INT32;
typedef unsigned int UINT32;
typedef unsigned char UCHAR8;
typedef char CHAR8;
typedef long long int LONG64;
typedef unsigned long long int ULONG64;
typedef double DOUBLE64;
typedef float FLOAT32;
void QuickSort(INT32 *arr,INT32 left,INT32 right)
{
INT32 i,j;
INT32 temp;
if(left >= right) //只有一个记录,不需要排序
return;
i = left;
j = right;
temp = arr[left];
while(i != j)
{
while((temp <= arr[j]) &&(j > i)) //从右向左找到第一个小于基准的数
j--;
if(j > i)
arr[i++] = arr[j];
while((temp >= arr[i]) &&(j >i )) //从 左向右找到第一个大于基准的数
i++;
if(j > i)
arr[j--] = arr[i];
} //一趟排序
arr[i] = temp; //基准最终位置
QuickSort(arr,left,i-1);
QuickSort(arr,i+1,right);
}
void Show(INT32 *arr,INT32 count)
{
INT32 i;
for(i = 0; i < count; i++)
printf("%d ",arr[i]);
printf("\n");
}
int main(void)
{
INT32 arr[100];
printf("input the number\n");
INT32 n,i = 0;
while(scanf("%d",&n) != EOF)
{
arr[i] = n;
i++;
}
QuickSort(arr,0,i-1);
Show(arr,i);
}