首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >排序方式-插入排序

排序方式-插入排序

作者头像
星哥玩云
发布于 2022-09-14 19:44:51
发布于 2022-09-14 19:44:51
4970
举报
文章被收录于专栏:开源部署开源部署

1、插入排序

插入排序(Insertion sort)是一种简单直观且稳定的排序算法。插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,是稳定的排序方法。

插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。

分析:

案例:

代码语言:javascript
复制
public class InsertionSortDemo{
    public static void main(String args[]){
        int arr[]={12,32,132,13,321,16,3213};
        insertionSort(arr);
    }
    public static void insertionSort(int arr[]){
        int i=1;//下标从1开始,把前面的0当作一个数组
        while(i<arr.length){
            int k=arr[i];//要插入的值
            int j=i; //下标
            while(j>0&&k<arr[j-1]){
                arr[j]=arr[j-1]; //满足条件的数,右移
                j--;
            }
            arr[j]=k;//插入数据到指定位置
            i++;
        }
        printArray(arr);
    }
    public static void printArray(int[] arr){
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+" ");
        }
    }
}

运行结果:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 1、插入排序
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档