标签:
1.直接插入排序
时间复杂度O(n2)
工作原理:
通过构建有序序列,对于未排序数据,在已排序的序列中,从后向前扫描,找到相应的位置并插入。
插入排序在实现上,在从后向前扫描的过程中,需要反复把已排序元素逐步向后移动,为最新元素提供插入空间。
//直接插入排序 public static void InsertSort(int[] a,int n){ int i,j,t; for(i=1;i<n;i++){ t=a[i];//取出一个未排序的数据 for(j=i-1;j>=0&&t<a[j];--j){//在已排序的序列这查找位置,t<a[j],说明要把t插入到前面去 a[j+1]=a[j];//向后移动数据 } a[j+1]=t;//将临时元素插入到腾出的位置中 } }
2.希尔排序
标签:
原文地址:http://www.cnblogs.com/GumpYan/p/5762319.html