插入排序的思想很简单,就是每向有序序列中插入一个数,就把这个数依次与其他数比较,逐次替换。
下面是代码
public class InsertSort { public void insertSort(int a[]){ int length=a.length; int i; int keyword; for(int j=1;j<length;j++){ keyword=a[j]; i=j-1; while(i>=0 && a[i]>keyword){ a[i+1]=a[i]; i--; } a[i+1]=keyword; System.out.println(Arrays.toString(a)); } } public static void main(String[] args){ int a[]={6,3,4,2,1,5}; InsertSort insertSort=new InsertSort(); insertSort.insertSort(a); /*for(int i=0;i<a.length;i++){ System.out.println(a[i]); }*/ /*Random random=new Random(); int[] a=new int[10000]; for(int i=0;i<a.length;i++){ a[i]=random.nextInt(10000); } InsertSort insertSort=new InsertSort(); long startTime=System.currentTimeMillis(); insertSort.insertSort(a); long endTime=System.currentTimeMillis(); System.out.println("程序运行时间: "+(endTime-startTime)+"ms"); for(int i=0;i<a.length;i++){ System.out.println(a[i]); }*/ } }
代码很简单,我就不多说什么了。
下面是序列
[3, 6, 4, 2, 1, 5] [3, 4, 6, 2, 1, 5] [2, 3, 4, 6, 1, 5] [1, 2, 3, 4, 6, 5] [1, 2, 3, 4, 5, 6]
时间: 2024-10-25 21:28:48