插入排序法小例子

简介: 插入排序法小例子

插入排序方法类


    public void sort(int arr[]){
        for(int i=1;i<arr.length;i++){
            int insertVal=arr[i];
                //insertVal是准备用于与前一个数比较的数
            int index=i-1;
            while(index>=0&&insertVal<arr[index])
            {
                //上面的判断思想是,先确认index在i-1过后大于等于0;
                //让后让数组里的i 与 i-1 ,就是前后俩数去比较,现在是如果后面的数小与前面的数的情况
                arr[index+1]=arr[index];
                index--;
            }
            //如果前面while的条件不匹配,也就是说后面插入的数比前面一个大
            arr[index+1]=insertVal;
        }
    }

算法思想:


①把数组里面的无序数中的第一个index=0的数,默认当做一个序列队伍;


②然后定义一个数insertVal,取出的值为index=0后面的一个数;


③将两者比较,


如果insertVal比最早的那个数大,那么就直接让这个数的index+1,那么就是直接排在比较数后面了;


如果insertVal比最早的那个数小,那么就先将最早的数的index先往后以一位,即+1,等数值也跟着定值后,index再减一;再将insertVal的index往左以一位,即-1,;这样就可以达到两个数从小到大交换位置排序。


以上叙述是简单说明下。

相关文章
|
3月前
|
搜索推荐 Java 索引
快速排序的新用法
快速排序的新用法
27 0
|
4月前
选择排序(多方式)
选择排序(多方式)
|
搜索推荐 C语言
用c语言代码将数列8、6、1、9、2从大到小排序。(要求:画出冒泡排序算法的排序过程)
用c语言代码将数列8、6、1、9、2从大到小排序。(要求:画出冒泡排序算法的排序过程)
91 0
|
算法 搜索推荐 Java
排序:Java实现插入排序原理及代码注释详解
排序:Java实现插入排序原理及代码注释详解
109 0
排序:Java实现插入排序原理及代码注释详解
|
算法 搜索推荐 Java
排序:Java实现冒泡排序原理及代码注释详解
排序:Java实现冒泡排序原理及代码注释详解
102 0
排序:Java实现冒泡排序原理及代码注释详解
|
搜索推荐 算法 Java
排序:Java实现选择排序原理及代码注释详解
排序:Java实现选择排序原理及代码注释详解
116 0
排序:Java实现选择排序原理及代码注释详解
|
算法 搜索推荐 Java
排序:Java实现快速排序原理及代码注释详解
排序:Java实现快速排序原理及代码注释详解
107 0
排序:Java实现快速排序原理及代码注释详解
|
存储 算法 搜索推荐
【C语言程序设计】知识点汇总7——排序与查找原理与代码(冒泡排序,选择排序,插入排序,二分查找)
【C语言程序设计】知识点汇总7——排序与查找原理与代码(冒泡排序,选择排序,插入排序,二分查找)
137 0
|
算法 搜索推荐 Java
【排序】交换类排序—冒泡排序、快速排序手撕图解
欢迎大家关注我的数据结构与算法专栏哈!,无论是日后面试还是笔试的,排序在数据结构与算法中有着举足轻重的地位,所以还是决定把数据结构这个专题好好写写,多研究研究!今天和大家一起学习交换类排序——冒泡和快排详解!
120 0
【排序】交换类排序—冒泡排序、快速排序手撕图解