public static void quick_sort(int[] arr, int head, int end){ if(head >= end){ return; } int temp = arr[head]; int i = head; int j = end; while(i<j){ // j 指针向前移动,当所指的元素小于基准元素时停止移动 while(i<j && arr[j]>=temp){ j--; } // i 指针向后移动,当所指的元素大于基准元素时停止移动 while(i<j && arr[i]<=temp){ i++; } int t = arr[i]; arr[i] = arr[j]; arr[j] = t; } arr[head] = arr[i]; arr[i] = temp; quick_sort(arr, head, i-1); quick_sort(arr, i+1, end); }
初级程序员
by: 大金金 发表于:2021-10-11 14:52:27 顶(0) | 踩(0) 回复
正向了
回复评论