读书人

2分排序

发布时间: 2012-12-27 10:17:10 作者: rapoo

二分排序

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;}}

?

读书人网 >编程

热点推荐