算法思想:
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;
}