NeoYang 發表於 2009-6-4 15:37:35

快速排序法

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 10
#define SWAP(x,y) {int tmp=x; x=y; y=tmp;}

void Quicksort(int array[],int left,int right){
    int i, j, key;
    if(left<right){
            key=array;
            i=left;
            j=right+1;
            do{
                    do{ i++; }while(array<key);
                    do{ j--; }while(array>key);
                    if(i < j)SWAP(array,array);
            }while(i<j);
            array=array;
            array=key;
            Quicksort(array,left,j-1);
            Quicksort(array,j+1,right);
    }
}

int main(void){
    int array;
    int i;
   
    for(i=0;i<MAX;i++) array=rand()%100 ;

    printf("原數列:\n");
    for(i=0;i<MAX;i++) printf("%d ",array);
    printf("\n\n");

    Quicksort(array,0,MAX-1);
       
    printf("排序後:\n");
    for(i=0;i<MAX;i++) printf("%d ",array);
    printf("\n\n");

    system("pause");
    return 0;
}
頁: [1]
查看完整版本: 快速排序法

Checking the Pageranks