1. 程式人生 > >用快速排序實現”小哼買書“

用快速排序實現”小哼買書“

具體問題可以看看這個網站小哼買書
下面是用快速排序實現的方法。

#include<stdio.h>

int a[101], n;//定義全域性變數

//快速排序的實現方法
void quicksort(int left, int right)
{
    int i,j,t,temp;

    if(left>right)
        return;

    temp=a[left];
    i=left;
    j=right;

    while(i!=j)
    {
        while(a[j]>=temp&&i<j)
            j--;

        while
(a[i]<=temp&&i<j) i++; if(i<j) { t=a[i]; a[i]=a[j]; a[j]=t; } } a[left]=a[i]; a[i]=temp; quicksort(left,i-1); quicksort(i+1,right); } int main() { int i,j,t; scanf("%d",&n); for
(int i=1;i<=n;i++) { scanf("%d",&a[i]); } quicksort(1,n); //先計算共有多少個號輸出 int count=1; for(int i=2;i<=n;i++) { if(a[i]!=a[i-1]) { count++; } } printf("%d \n",count); //依次輸出每個號 printf("%d ",a[1]); for(int
i=2;i<=n;i++) { if(a[i]!=a[i-1]) { printf("%d ",a[i]); } } getchar(); return 0; }