插入排序(JAVA)

Posted

tags:

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

找到第i个,将a[i]与a[0]到a[i-1]中比它小的元素依次交换,在i由左向右的变化中,i的左边都是有序的,当i达到最右边时排序完成。

插入排序对以下数组很有效:

  • 数组中每个元素距离它的最终位置都不远
  • 一个有序的大数组接一个小数组
  • 数组中只有几个元素的位置不正确

倒置的数量很少时,插入排序很可能比其他排序算法都要快。

package sort20171111;

import java.util.*;

public class Insertion {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        int []a = new int[20];
        int n;
        Scanner in = new Scanner(System.in);
        n = in.nextInt();
        for(int i = 0; i < n; i++) {
            a[i] = in.nextInt();
        }
        
        //插入排序
        for(int i = 1; i < n; i++) {
            for(int j = i; j > 0; j--) {
                if(a[j] < a[j - 1]) {
                    int temp;
                    temp = a[j];
                    a[j] = a[j - 1];
                    a[j - 1] = temp;
                }
            }
        }
        
        for(int i = 0; i < n; i++) {
            System.out.println(a[i]);
        }

    }

}

 

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

排序02-直接插入排序法

Java插入排序实现代码

排序算法之冒泡选择插入排序(Java)

排序算法之冒泡选择插入排序(Java)

JAVA代码[No.2]——插入排序详解

Java插入排序