冒泡排序,选择排序,二分法

Posted 放纵的卡尔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡排序,选择排序,二分法相关的知识,希望对你有一定的参考价值。

public class Paixu {
    public static void main(String[] args) {
        int[]arr={1,2,8,10,18,22,28,100,20};
/*        //选择排序  从小到大
        for (int i = 0; i < arr.length-1; i++) {
            for (int j = i+1; j < arr.length; j++) {
                if (arr[i]>arr[j]) {
                    int tmp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=tmp;
                }
            }
        }*/
        
        //冒泡排序 从小到大
    for (int i = 0; i < arr.length; i++) {
        for (int j = 0; j < arr.length-i-1; j++) {
            if (arr[j]>arr[j+1]) {
                int tmp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=tmp;
                
            }
        }
    }    
    
        System.out.println(Arrays.toString(arr));
        //二分法
        
        System.out.println(search(arr, 20));
    }
    public static int search(int[]arr,int key){
        int start=0;
        int end=arr.length-1;
        while(arr[start]<=arr[end]){
            int middle=(end+start)/2;
            if (key<arr[middle]) {
                end=middle-1;
            }else if(key>arr[middle]){
                start=middle+1;
            }else{
                return middle;
            }
        }
        return -1;
        
    }
}

 

以上是关于冒泡排序,选择排序,二分法的主要内容,如果未能解决你的问题,请参考以下文章

排序算法(冒泡,选择,插入,快速)查找算法(二分,快速)

Java八股文面试题 基础篇 -- 二分查找算法冒泡排序选择排序插入排序希尔排序快速排序

Java八股文面试题 基础篇 -- 二分查找算法冒泡排序选择排序插入排序希尔排序快速排序

冒泡排序,选择排序,二分法

Java基础冒泡选择排序二分查找

冒泡排序选择排序插入排序二分法排序快速排序二叉树排序堆排序总结