快速排序是对冒泡排序的改进。其基本思想是:通过一次排序将待排序的数据分成两个独立的部分,其中一部分的所有数据都小于另一部分的所有数据,然后对这两部分进行快速处理。数据按照这种方法排序,整个排序过程可以递归进行,这样整个数据就变成了一个有序的序列。导入java.util.Arrays;publicclassQuickSort{/***快速排序算法*@paramaarray*/publicstaticvoidsort(int[]a){intlo=0;//左指针起始位置inthi=a.length-1;//右指针起始位置sort(a,lo,hi);}publicstaticvoidsort(int[]a,intlo,inthi){if(lo>=hi){//安全验证,即递归退出返回;}//前序遍历intpartition=partition(a,lo,hi);//排序并返回边界值交换后的索引//先排序,再拆分!即前序遍历sort(a,lo,partition-1);排序(a,分区+1,高);}privatestaticintpartition(int[]a,intlo,inthi){//确定边界值intkey=a[lo];//定义两个指针,分别指向边界值的索引和最大索引的下一位intleft=lo;int右=hi+1;//分词while(true){//先右while(a[--right]>key){//查找右
