二分排序
1.二分排序:数组中选择最后一个元素当做参考,从头开始遍历数组发现大于参数的元素则放大到参考值的位置。从尾遍历数组发现小于参考值的元素则放到上面的的位置。在现在的位置放参考元素。
代码:
public class ErFen2 {/** * @param args */public static void main(String[] args) {int[] a=new int[10];for(int i=0;i<a.length;i++){a[i]=(int)Math.round(Math.random()*10);System.out.print(a[i]+"\t");}System.out.println("");twosort(a,0,a.length-1); for(int i=0;i<a.length;i++){ System.out.print(a[i]+"\t"); }}public static int[] twosort(int[] a,int low,int high){int i,j,temp;if(low<high){i=low;j=high;temp=a[j];while(i<j){while(i<j&&a[i]<temp) i++;if(i<j){a[j]=a[i];j--;}while(i<j&&a[j]>temp) j--;if(i<j){a[i]=a[j];i++;}a[j]=temp;}twosort(a,low,j-1);twosort(a,j+1,high);}return a;}}?