面试总结

2019/2/19  java

经典算法冒泡排序(今天面试题,手写冒泡排序,尴尬,没写,记录一下)

public class test {

    public static void main(String[] args) {
       int [] arr={6,3,8,2,9,1};
       for(int num:arr){
           System.out.print(num+"");
       }

       for(int i=0;i<arr.length;i++){//外层循环控制排序趟数

           for(int j=0;j<arr.length-1-i;j++){ //内层循环控制每一趟排序多少次
               if(arr[j]>arr[j+1]){
                   int temp=arr[j];
                   arr[j]=arr[j+1];
                   arr[j+1]=temp;
               }
           }

       }
        System.out.println();
       for(int num:arr){
           System.out.print(num+"");
       }
    }
}

 二分查找

public class test {
    public static void main(String[] args) {
      int [] a={1,2,3,4,5,8};
        int result = HalfSerarch(a, 1, 8, 4);
        System.out.println(result);
    }
    /**
     * 功能:查找一个参数在有序数组中的下标位置。
     * @param a //有序数组
     * @param low //最小值
     * @param high //最大值
     * @param key  //输入值
     * @return
     */
   static int HalfSerarch(int a[],int low,int high,int key){
        int mid;
        while(low<=high){
            mid=(low+high)/2;
            if(a[mid]==key){
                return mid;
            }else{
               if(a[mid]<key){
                   low=mid+1;
               } else{
                   high=mid-1;
               }
            }
        }
        return -1;
    }
}

 

posted @ 2019-02-19 21:52  $>_<$  阅读(125)  评论(0编辑  收藏  举报