美文网首页蓝桥杯
算法基础课 2.4 插入排序 冒泡排序 选择排序

算法基础课 2.4 插入排序 冒泡排序 选择排序

作者: sakura579 | 来源:发表于2020-02-28 16:25 被阅读0次

    插入排序

    // 插入排序
        public static void main(String[] args) {
            int arr[] = new int[] { 3, 1, 2, 4, 5 };
            for (int i = 1; i < arr.length; i++) {
                int target = arr[i];
                int j = i - 1;
                while (j>-1&&target < arr[j]) {
                    arr[j+1] = arr[j];
                    j--;
                }
                arr[j+1] = target;
            }
            System.out.println(Arrays.toString(arr));
        }
    

    冒泡排序

    import java.util.Arrays;
    
    public class ssad {
        public static void main(String[] args) {
            int [] arr = new int[] {3,2,1};
            sort(arr);
            System.out.println(Arrays.toString(arr));
        }
        //冒泡排序
        static void sort(int [] arr) {
            for(int j = 0;j<arr.length;j++) {
                //注意上边界都是从第一个开始,但是每趟完成之后,天花板在降低
                for(int i =0;i<arr.length-j-1;i++) {
                    if(arr[i]>arr[i+1]) {
                        utils(arr,i,i+1);
                    }
                }
            }
        }
        static void utils(int[] arr,int i,int j) {
            int tm = arr[i];
            arr[i] = arr[j];
            arr[j] = tm;
        }
    }
    
    

    选择排序

    package study;
    
    import java.util.Arrays;
    
    public class sssx {
        public static void main(String[] args) {
            int [] arr = {4,5,6,3,2,1};
            sort(arr,0,arr.length-1);
            System.out.println(Arrays.toString(arr));
        }
        // 选择排序
        private static void sort(int []arr,int low,int hight) {
            for(int i =low;i<hight;i++) {
                int min =i;
                for(int j=min+i;j<=hight;j++) {
                    if(arr[min]>arr[j]) {
                        min = j;//覆盖
                    }
                }
                utils(arr,min,i);//交换
            }
        }
        static void utils(int[] arr,int i,int j) {
            int tm = arr[i];
            arr[i] = arr[j];
            arr[j] = tm;
        }
    }
    
    

    相关文章

      网友评论

        本文标题:算法基础课 2.4 插入排序 冒泡排序 选择排序

        本文链接:https://www.haomeiwen.com/subject/lnmlhhtx.html