這道題我做了兩遍,第一次是調用qsort庫函數,感覺不過癮,所以自己又寫了一遍qsort函數。
#include<stdio.h>
#define M 1010
int main()

void sort(int num[],int low,int high)
{
int po=low;//選取第一個元素為比較的初始值
int i=low,j=high,term;
if(high-low+1>=2)
{
while(i<=j)
{
for(;j>=i;j--)
{
if(num[j]<num[po])
{
term=num[po];
num[po]=num[j];
num[j]=term;
po=j--;
break;
}
}
for(;j>=i;i++)
{
if(num[i]>num[po])
{
term=num[po];
num[po]=num[i];
num[i]=term;
po=i++;
break;
}
}
}
sort(num,low,po-1);//遞歸調用
sort(num,po+1,high);
}
}

