• 01. Java的经典排序--选择排序--冒泡排序--折半查找(二分查找)


    Java的经典排序--选择排序--冒泡排序--折半查找

    选择排序

    选择排序 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 ;
    	}
    
  • 相关阅读:
    Linux下文件的压缩和解压
    Env: Linux下Source Insight安装
    [uart]2.tty和uart的函数调用流程
    [uart]stty命令使用
    腾讯云的云数据库MYSQL配置
    MySQL分支Percona
    MYSQL的历史
    MYSQL的价格
    mysql之event
    Linux下设置网卡静态ip
  • 原文地址:https://www.cnblogs.com/SteveDZC/p/9751629.html
Copyright © 2020-2023  润新知