快速排序小技巧

Posted gzsba

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速排序小技巧相关的知识,希望对你有一定的参考价值。

public class QuickSort {
public static void main(String[] args) {

int[] arr = {1,11,21,31,41,51,61,71,81,91};
quick(arr);
for (int i : arr) {
System.out.print(" "+i);

//运行结果是(1,11,21,31,41,51,61,71,81,91)
}
}

private static void quick(int[] arr) {
if (arr.length > 0) {
quickSort(arr,0,arr.length-1);
}
}

private static void quickSort(int[] arr, int head, int foot){
if (head < foot) {
int middle = getMiddle(arr, head, foot);
quickSort(arr,0,middle-1);
quickSort(arr,middle+1,foot);
}
}

private static int getMiddle(int[] arr, int head, int foot) {
int temp = arr[head];
while (foot > head) {
while(foot > head && arr[foot]>=temp){
foot--;
}
arr[head] = arr[foot];
while(foot > head && arr[head]<=temp){
head++;
}
arr[foot] = arr[head];
}
arr[head] = temp;
return head;
}
}
































以上是关于快速排序小技巧的主要内容,如果未能解决你的问题,请参考以下文章

excel快速排序技巧,如何使用SORTBY函数对数据进行排序

快速排序算法(递归)

有一组数组25、50、70、21、4、18、100、43、7、12用快速排序,求快速排序的做题方法技巧,和原理。

PAT高效技巧算法---1045 快速排序 (25分)

1045 快速排序 (高效技巧:打表)

《数据结构与算法之美》09——排序归并排序与快速排序