7、JAVA实现快排--分治+递归的思想

来源:互联网 发布:营销网络的含义 编辑:程序博客网 时间:2024/05/17 06:18

回头看一下时间复杂度之类的。

import java.util.Arrays;public class QuickSort{private static int partition(int data[],int low,int high){//分治int key = data[low];while(low<high){while(low<high && data[high]>key)//从右向左high--;data[low] = data[high];while(low<high && data[low]<key)//从左向右low++;data[high] = data[low];}data[low] = key;//把轴元素放在轴所在地位置return low;//返回轴所在的位置}private static void quickSort(int data[],int low,int high){//递归int q;if(low<high){ q = partition(data,low,high);     quickSort(data,q+1,high);     quickSort(data,low,q-1);}}public static void main(String args[]){int a[] = new int[]{1,4,6,2,3,5,7};quickSort(a,0,a.length -1);System.out.println(Arrays.toString(a));}


原创粉丝点击