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