码迷,mamicode.com
首页 > 编程语言 > 详细

插入排序(JAVA)

时间:2017-11-12 14:15:20      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:排序算法   --   ext   插入   sys   sort   generate   int   插入排序   

找到第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)

标签:排序算法   --   ext   插入   sys   sort   generate   int   插入排序   

原文地址:http://www.cnblogs.com/rainbowsweety/p/7821484.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!