
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) 回复
正向了
回复评论