算法-->插入排序

来源:互联网 发布:巨人网络a股上市 编辑:程序博客网 时间:2024/06/17 22:59

插入排序是通过比较 和插入来实现排序

  • 首先对数组的前两个数据进行从小到大的排序
  • 接着将第三个数据与排好的两个数进行比较,将第三个数据插入到合适的位置
  • 然后,将第四个数据插入已经排好序的前三个数据中
  • 不断从重复上述 的过程,知道最后把最后一个数据插入到合适的位置,最后就完成了对原始数组从小到大的排序。
package 插入排序;public class Charu {static final  int SIZE=10;static void insertionSort(int[]a) {    int i,j,t,h;    for(i=1;i<a.length;i++) {        t=a[i];        j=i-1;        while(j>=0&&t<a[j]) {            a[j+1]=a[j];            j--;        }        a[j+1]=t;        System.out.print("第"+i+"步排序结果:");//输出每次的排序结果         for(h=0;h<a.length;h++) {            System.out.print(" "+a[h]);        }        System.out.print("\n");    }}public static void main(String[]args) {    int[] shuzu=new int[SIZE];    int i;    for(i=0;i<SIZE;i++) {        shuzu[i]=(int)(Math.random()*(100+1));//初始化数组    }    System.out.print("排序前的数组为:\n");    for(i=0;i<SIZE;i++) {        System.out.print(shuzu[i]+" ");    }    System.out.print("\n");    insertionSort(shuzu);    System.out.print("排序后的数组为:\n");    for(i=0;i<SIZE;i++) {        System.out.print(shuzu[i]+" ");    }    System.out.print("\n");}}

这里写图片描述

原创粉丝点击