【算法】快速排序

来源:互联网 发布:扎古2.0知乎 编辑:程序博客网 时间:2024/04/30 20:33
void QuickSort(int array[], int size) { if(size < 2) return;  srand((unsigned)time( NULL)); int index = rand()%size; int value = array[index]; int temp = array[size-1]; array[size-1] = value; array[index] = temp;  int j = 0; for(int i=0; i<size; i++) { if(array[i] <= value) { temp = array[j]; array[j] = array[i]; array[i] = temp; j++; } }  QuickSort(array, j-1); QuickSort(array+j, size-j); }int _tmain(int argc, _TCHAR* argv[]){int a[] = {2, 1, 3, 9, 4, 3, 7, 0, 4, 7, 1, 3, 7, 3, 4, 1, 6, 0, -3, 9, 123, 12, 34, 2,10000000};QuickSort(a, sizeof(a)/sizeof(int));for(int i=0; i<sizeof(a)/sizeof(int); i++){printf("%d ", a[i] );}system("pause");return 0;}

原创粉丝点击