学习笔记(java二分排序)

暑假自己随便学了一下java,虽然说不上很熟悉,但是基本语句和c++啥的还是有点差别,不过有c和c++的基础,理解起来会容易一点;

一个合格的码农必须要了解几种不同的语言,最近学oc也感觉还不错。

昨晚看java视频,几种排序,现在来一发二分排序。

package Sort;

public class Sort {
public void halfsort(int[] array){
	int low,high,middle,temp,index,i;
	for(i=1;i<array.length;i++){
		 low = 0;
         high = i - 1;
         temp = array[i];
         index = i;
         if(array[0]<temp&&array[i-1]>temp){
        	 while(low<=high){
        		 middle=(low+high)/2;
        		 if(array[middle]>temp){
        			 high=middle-1;
        		 }
        		 else{
        			 low=middle+1;
        		 }
        	 }
        	 index=low;
         }
         if(array[0]>=temp){
        	 index=0;
         }
         if(array[i-1]<=temp){
        	 index=i;
         }
         for(int j =i-1;j>=index;j--){
        	 array[j+1]=array[j];
         }
         array[index]=temp;
	}
	for(int j:array){
        	 System.out.print(j+"  ");
         }
}
	public static void main(String[] args) {
		int[] array = new int[]{78,29,645,54,2321};
		Sort sorter = new Sort();
		sorter.halfsort(array);
		
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值