// 算法.cpp : 定義控制檯應用程序的入口點。 // #include "stdafx.h" #include <iostream> #include <ctime> using namespace std; void QuickSort(int e[], int first, int end); int _tmain(int argc, _TCHAR* argv[]) { srand(unsigned(time(NULL)));//set 種子 int t_nArray[10]; //產生隨即數組 for(int i = 0; i < 10; i++) { t_nArray[i] = rand()%100; } //快速排序 QuickSort(t_nArray, 0, 9); //顯示數組 for(int i = 0; i < 10; i++) { cout << t_nArray[i] ; cout << "," ; } system("pause"); return 0; } void QuickSort(int e[], int first, int end) { int i=first,j=end; int temp=e[first];//記錄第一個數據 while(i<j) { while(i<j && e[j]>=temp) //與first數據比較,右邊下標逐漸左移 j--; e[i]=e[j]; while(i<j && e[i]<=temp) //與first數據比較,左邊下標逐漸右移 i++; e[j]=e[i]; } e[i]=temp; //將first數據放置於i=j處 if(first<i-1) QuickSort(e,first,i-1); if(end>i+1) QuickSort(e,i+1,end); }