快速排序算法的核心思想是从一个数据中随机取一个数作为中间数,遍历数据,将数据分为小于中间数和大于中间数据两组,然后用同样的方法排列两组
时间的复杂度是o(nlogn )。
publicstaticvoidmain (字符串[ ] args ) Throwsexception ) int[]array=newint[10000]; for(intI=0; iarray.length; I({Array[I]=(int ) ) Math.random ) *10000 1); }sort(Array,0,array.length-1 ); for(intI=0; iarray.length; I ) system.out.println(Array[I]; } publicstaticvoidsort (int [ ] array,int start,int end ) if (start=end ) { return; (} Int I=开始; int j=end; int mid=array[start]; while(ij ) ) while ) IJarray[j]mid ) j----; (if ) ij ) ) { array[i]=array[j]; array[j]=mid; }while(IJarray[I]=mid ) ) I; (if ) ij ) ) { array[j]=array[i]; array[i]=mid; }sort(Array,start,i-1 ); sort (阵列,i 1,结束); }