标签:tar index sea ring temp body for while pre
| 选择排序 | 3 | 2 | 1 | 5 | 8 | 
|---|---|---|---|---|---|
| 0 | 1 | 3 | 2 | 5 | 8 | 
| 1 | 1 | 2 | 3 | 5 | 8 | 
| 2 | 1 | 2 | 3 | 5 | 8 | 
| 3 | 1 | 2 | 3 | 5 | 8 | 
public static void main(String[] args)  {
  int[] arr={3,2,1,5,8};
  selectSort(arr);
  for(int i = 0 ; i < arr.length ; i ++){
    System.out.println(arr[i]) ;
  }
}
//选择排序
    public static void selectSort(int[] arr){
        for(int i = 0 ; i < arr.length - 1 ; i ++){
            for(int j = i + 1 ; j < arr.length ; j ++){
                if(arr[i] > arr[j]){
                    int temp = arr[i] ;
                    arr[i] = arr[j] ;
                    arr[j] = temp ;
                }
            }
        }
    }| 冒泡排序 | 3 | 2 | 1 | 5 | 8 | 
|---|---|---|---|---|---|
| 0 | 2 | 1 | 3 | 5 | 8 | 
| 1 | 1 | 2 | 3 | 5 | 8 | 
| 2 | 1 | 2 | 3 | 5 | 8 | 
| 3 | 1 | 2 | 3 | 5 | 8 | 
public static void main(String[] args)  {
  int[] arr={3,2,1,5,8};
  bubbleSort(arr);
  for(int i = 0 ; i < arr.length ; i ++){
    System.out.println(arr[i]) ;
  }
}
   //冒泡排序大数下沉
    public static void bubbleSort(int[] arr){
        //需要比较多少轮
        for(int i = 0 ; i < arr.length - 1 ; i ++){
            //每一轮需要比较多少次
            for(int j = 0 ; j < arr.length - 1 - 1; j ++){
                if(arr[j] > arr[j + 1]){
                    int temp = arr[j] ;
                    arr[j] = arr[j + 1] ;
                    arr[j + 1] = temp ;
                }
            }
        }
    }| 折半查找 | 3 | 2 | 1 | 5 | 8 | 
|---|---|---|---|---|---|
| 3 | 1 | 2 | 3 | 5 | 8 | 
public static void main(String[] args)  {
        int index = binarySearch(arr , 9);
        System.out.println(index) ;
}
  //折半查找
    public static int binarySearch(int[] arr , int n){
        int start = 0 ;//起始值
        int end = arr.length - 1 ;//末尾值
        while(start <= end){
           //中间那个值
            int mid = (start + end) / 2 ;
            if(arr[mid] ==n){
                return mid ;
            }
            //值如果在左边
            else if(arr[mid] > n ){
                end = mid - 1 ;
            }
            //值在右边
            else{
                start = mid + 1 ;
            }
        }
        //没有值则返回一个空的
        return -1 ;
    }01. Java的经典排序--选择排序--冒泡排序--折半查找(二分查找)
标签:tar index sea ring temp body for while pre
原文地址:https://www.cnblogs.com/SteveDZC/p/9751629.html