首页 / 科技看点 / 正文

排序:Java实现快速排序原理代码注释详解

1.简介:快速排序是对冒泡排序的一种改进。它的最坏时间复杂度为O(n2),最好时间复杂度为O(nlogn),平均时间复杂度为O(nlogn),它是不稳定排序。

2.算法原理:从数列中挑出一个元素,称为 “基准”;

3.代码实现:public static void kuaiSu(int[] a,int low,int height){ int i = low,j = height; if(low < height){ int mark = a[low]; while (i < j) { while (a[j] > mark && i < j){ j--; } if(i < j) { a[i] = a[j]; i++; } while (a[i] < mark && i < j){ i++; } if(i < j) { a[j] = a[i]; j--; } } a[i] = mark; kuaiSu(a,low,i - 1); kuaiSu(a,i+1,height); } }

4.优 缺点:优点:极快,数据移动少; 缺点:不稳定。

如有侵权请及时联系我们处理,转载请注明出处来自