精華區beta ZooStudy 關於我們 聯絡資訊
恩...豬排你太早交了拉\>_< include <iostream> using std::cout; using std::cin; using std::endl; #include <cstdlib> #include <iomanip> using std::setw; #include <ctime> void quicksort(int*,int ,int); int partition(int*, int,int ); void swap(int*, int*); void print(int[], int); const int arraysize=10; int array[arraysize]; int main() { srand (time(0)); for(int i=0; i<arraysize; i++){ array[i]= 1+rand() % 99; } cout<<"The original array is \n"; print(array,arraysize); cout<<"\nThe sorted array is \n"; quicksort(array,0,arraysize-1); print(array,arraysize); return 0; } void quicksort (int *number , int head , int tail){ int x ; if(head>=tail) return ; x=partition(number,head,tail) ; quicksort(number,head,x-1) ; quicksort(number,x+1,tail) ; } int partition (int *number , int a, int b) { int left=a , right=b , counter=0; while(1){ while (left<right){ if(number[left] > number[right]) break ; if(counter%2) right--; else left++; } if(left==right) return left; swap(&number[left] ,&number[right]); } } void swap (int *n1, int *n2) { int exh; exh=*n1; *n1=*n2; *n2=exh; } void print (int u[],int usize) { for(int i=0; i<usize; i++) cout<< u[i] <<" "; } -- 天下最難的事,就是享受最簡單平凡的日子 而最簡單平凡的日子,往往是天下最單純的幸福 -- ※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw) ◆ From: 140.112.7.59 ※ 編輯: microball 來自: 140.112.7.59 (12/04 20:59)