您当前的位置: 首页 >  Java

小志的博客

暂无认证

  • 0浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

java数据结构和算法——插入排序算法

小志的博客 发布时间:2020-08-08 21:26:36 ,浏览量:0

目录
    • 一、插入排序算法的基本介绍
    • 二、插入排序算法的思想
    • 三、插入排序算法的思路分析图
    • 四、插入排序算法的应用示例需求
    • 五、插入排序算法推导过程示例演示
    • 六、插入排序算法的完整示例演示
    • 七、测试插入排序算法所消耗的时间示例

一、插入排序算法的基本介绍
  • 插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。
二、插入排序算法的思想
  • 把n个待排序的元素看成为一个有序表和一个无序表
  • 开始时有序表中只包含一个元素,无序表中包含有n-1个元素
  • 排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。
三、插入排序算法的思路分析图

在这里插入图片描述

四、插入排序算法的应用示例需求

示例需求:有一群牛 , 颜值的打分分别是 101, 34, 119, 1 请使用插入排序从低到高进行排序

在这里插入图片描述

五、插入排序算法推导过程示例演示

1、代码

package com.rf.springboot01.dataStructure.sort;

import java.util.Arrays;

/**
 * @description: 插入排序算法推导过程示例演示
 * @author: xiaozhi
 * @create: 2020-08-07 08:51
 */
public class InsertSort {
    public static void main(String[] args) {
        int[] arr={101, 34, 119, 1};
        System.out.println("排序前的数组=================");
        System.out.println(Arrays.toString(arr));

        insertSort(arr);

        System.out.println("排序后的数组=================");
        System.out.println(Arrays.toString(arr));
    }

    public static void insertSort(int[] arr){


        //第一轮排序的原数素组{101, 34, 119, 1}
        int insertValue=arr[1];//定义一个待插入的数,第一次比较把34赋值给insertValue
        int insertIndex= 1-1;//定义一个待插入的数前面的数的下标

        //给insertValue 找到插入的位置
        //1. insertIndex >= 0 保证在给insertValue 找插入位置,不越界
        //2. insertValue < arr[insertIndex] 待插入的数,还没有找到插入位置
        while(insertIndex>=0  && insertValue = 0 保证在给insertValue 找插入位置,不越界
        //2. insertValue < arr[insertIndex] 待插入的数,还没有找到插入位置
        while(insertIndex>=0  && insertValue = 0 保证在给insertValue 找插入位置,不越界
        //2. insertValue < arr[insertIndex] 待插入的数,还没有找到插入位置
        while(insertIndex>=0  && insertValue =0  && insertValue             
关注
打赏
1661269038
查看更多评论
0.0454s