码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-10-07 22:06:28      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:tar   index   sea   ring   temp   body   for   while   pre   

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 ;
    }

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

标签:tar   index   sea   ring   temp   body   for   while   pre   

原文地址:https://www.cnblogs.com/SteveDZC/p/9751629.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!