快速排序使用分治法策略把一個串行分爲兩個子串行(兩個串行的分割點就是基準點,兩部分是大於基準點部分和小於基準點部分)。git
static int[] arr = { 6, 1, 2, 7, 9, 3, 4, 5, 10, 8 }; #region 快速排序 static void quickSort(int left,int righ) { if (left > righ) { return; } int k = arr[left]; int i = left; int j = righ; while (i!=j) { while (k <= arr[j] && i < j) { j--; } while (k >= arr[i] && i<j) { i++; } if(i<j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } if (i == j) { arr[left] = arr[i]; arr[i] = k; } quickSort(left,i-1); quickSort(i+1,righ); } #endregion