折半查找 冒泡排序(改进版)

class Demo
{
    private static int a[]={1,2,3,4,5,6};
    private static void binary_search(int key)
    {
        int low=0,high=5,mid=0;
        while(low<=high)
        {
            mid=(low+high)/2;  //此处不能是low/2+high/2
            if(key<a[mid])
                high=mid-1;
            else if(key>a[mid])
                low=mid+1;
            else {System.out.println(mid);System.exit(0);}
        }
        System.out.println(0);
            
    }    

    public static void main(String argv[])
    {
        binary_search(2);
    }
}

 

class Demo
{
    private static int a[]={10,2,3,8,5,6};
    private static void bubble()
    {
        int i,j;
        int temp;
        boolean flag=true;
        for(i=0;i<6 && flag ;i++)
        {    
            flag=false;
            for(j=0;j<6-1-i;j++)
            {
                if(a[j]<a[j+1])
                {
                    temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                    flag=true;
                }
            }
        }    
            
    }    

    public static void main(String argv[])
    {
        bubble();
        for(int i=0;i<6;i++)
        {
            System.out.println(a[i]);
        }
    }
}

 

posted @ 2016-03-11 16:56  小德cyj  阅读(257)  评论(0编辑  收藏  举报