美文网首页蓝桥杯
算法基础课 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;
    }
}

相关文章

  • 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

    图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

  • 排序一:冒泡、插入、选择

    文章结构 概述 冒泡排序 插入排序 选择排序 1. 概述 常见的排序算法有:冒泡排序、插入排序、选择排序、归并排序...

  • noip普及组3:排序算法

    排序算法 ①冒泡排序:O() ②插入排序:O() ③选择排序:O() ④桶排序 ⑤sort排序

  • Chapter 2 Foundation of Algorith

    Chapter 2 插入排序 线性查找 选择算法 归并排序算法 二分查找算法 冒泡排序 插入排序 循环不...

  • 排序算法

    排序算法 冒泡排序 选择排序 插入排序 快速排序(最常见) 希尔排序 归并排序 源码:Sorting 冒泡排序 冒...

  • 前端基础整理 | 算法基础

    排序算法 冒泡排序 选择排序 插入排序 希尔排序 归并排序 堆排序 快速排序

  • 排序题

    公共函数 选择排序 冒泡排序 插入排序 快速排序 归并排序——迭代算法

  • JAVA数据结构和算法——简单排序

    冒泡排序 选择排序 插入排序 排序算法的选择 除非手边没有算法书可参考,一般情况几乎不太用冒泡排序。选择排序虽然把...

  • 排序算法

    排序算法 非线性时间比较类排序 交换排序 冒泡排序 快速排序 插入排序 插入排序 希尔排序 选择排序 简单选择排序...

  • 基础排序算法

    快速排序 二分查找 冒泡排序 归并算法 选择排序 插入排序 Shell排序

网友评论

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

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