二分排序算法

来源:互联网 发布:我的世界手机版火车js 编辑:程序博客网 时间:2024/04/28 12:46

算法思想:
1、已知在第i位排序时,前面0-(i-1)位都是排好序了的。
2、通过二分查找方法,找到a[i]应该在a[0]到a[i-1]序列中的位置。
3、通过移动,赋值等操作完成第0-i位上的排序。

public int[] BinarySort(){        int i,j;        int low,high,mid;        int temp;        for(i=1;i<10;i++){            temp=a[i];            low=0;            high=i-1;            while(low<=high){                mid=(low+high)/2;                if(a[mid]>temp)                    high=mid-1;                else                    low=mid+1;            }            for(j=i-1;j>high;j--)                a[j+1]=a[j];            a[high+1]=temp;        }        return a;}
0 0