插入排序的Java实现

来源:互联网 发布:华为软件管理流程 编辑:程序博客网 时间:2024/06/03 14:59

算法思想:插入排序基于一个前提条件:局部有序,数列中有一个标记的成员,在这个成员的左边,左右的数据都已经按照顺序排列好了,插入算法要做的就是依次比较标记成员与他左边的数据的值,因为标记成员左边的数据已经有序,所以可以通过比较值来确定标记成员的插入位置。

效率:需要平均N*(N-1)/(2*2)次比较,时间O(N²)


class insertSort{public static void main(String[] args){ insertionSort();}public static void insertionSort(){int out,in;long a[]= {20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};long temp;for(out=1;out<a.length;out++){temp = a[out];in=out;while(in>0&&a[in-1]>=temp){a[in]=a[in-1];--in;}a[in]=temp;}for(int i=0;i<a.length;i++){System.out.println(a[i]);}}}


0 0
原创粉丝点击