Java实现插入排序

插入排序(Insertion Sort),是一种简单直观并且稳定的排序算法。

从前到后取每个元素和之后的元素进行比较,将较小的元素前移,周而复始一直到最后一个元素,这样就将一组数从小到大进行排序。
另外也保证了两个相邻且相等的数顺序不会发生改变,保证了算法的稳定性

java实现:

import java.util.Scanner;
import java.util.ArrayList;
public class CRsort {   
    public static void main(String args[]) {
    Scanner input = new Scanner(System.in); 
    System.out.println("请输入10个数字:");    
    ArrayList<Integer> arr = new ArrayList<Integer>();  
    while (input.hasNext()) { 
        arr.add(input.nextInt()); 
        if (arr.size() == 10)   //控制输入数为10个
        break;   
    }      
    Object[] arrays = arr.toArray();  //将ArrayList转换为数组类型
    for (int i = 0; i < arrays.length; i++) {   
        for (int j = i + 1; j < arrays.length; j++) {  
            Integer num1 = (Integer) arrays[i];  //取其中一个元素和之后的元素进行比较
            Integer num2 = (Integer) arrays[j];   
            if (num1 > num2) {   //num1>num2,将两者进行交换
                arrays[i] = num2;     
                arrays[j] = num1;     
            }
        }
    }      
  System.out.print("插入排序是:");      
  for (int i = 0; i < arrays.length; i++) {  
          System.out.print(arrays[i] + " ");
  } 
 }
}

运行结果:
请输入10个数字:
8 6 4 1 3 4 2 5 7 9 0
插入排序是:1 2 3 4 4 5 6 7 8 9

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,747评论 0 15
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,227评论 0 52
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好...
    依依玖玥阅读 1,287评论 0 2
  • 概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的...
    Luc_阅读 2,314评论 0 35
  • 神话的再塑造,让我想到了鲁迅的《故事新编》; 苏童写这篇小说的初衷是由于英国坎农格特出版社发起“重述神话”项目的邀...
    野狐馋师阅读 320评论 0 0