插入排序(升序)

Posted 黑暗Pine

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序(升序)相关的知识,希望对你有一定的参考价值。

1、算法

插入排序的工作原理与打牌时整理手中的牌的做法类似,开始摸牌时,我们的左手是空的,接着一次从桌上摸起一张牌,并将它插入到左手的正确位置。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左进行比较,无论什么时候手中的牌都是排序好的。

2、算法实现

    package test;  
      
    public class InsertSort {  
        public static void main(String[] args) {  
            int[] n ={1,3,6,2,9,6,8,7};  
            insertSort(n);  
            for (int i : n) {  
                System.out.print(i+"\t");  
            }  
        }  
        public static void insertSort(int a[]){    
            int length=a.length;   
            int j;  
            int i;  
            int key;  
            for(j=1;j<length;j++){    
                key=a[j];    
                i=j-1;    
                while(i>=0 && a[i]>key){    
                    a[i+1]=a[i];  
                    i--;   
                }  
                a[i+1]=key;  
            }    
        }    
    }  

 

以上是关于插入排序(升序)的主要内容,如果未能解决你的问题,请参考以下文章

c# 实现直接插入排序算法-升序

排序算法之插入排序

go 已知有个排序(升序)的数组,要求插入一个元素,最后打印该数组,顺序依然是升序

go 已知有个排序(升序)的数组,要求插入一个元素,最后打印该数组,顺序依然是升序

插入排序代码

经典十大排序算法(含升序降序,基数排序含负数排序)Java版完整代码建议收藏系列