黑马程序员技术交流社区
标题:
排序算法之直接插入排序
[打印本页]
作者:
叶子和大人
时间:
2015-10-25 11:56
标题:
排序算法之直接插入排序
直接插入排序是一种简单排序。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
public class InsertSort{
public int[] insertSort(int[] array){
for(int i=1;i<array.length;i++)//第0位独自作为有序数列,从第1位开始向后遍历
{
if(array[i]<array[i-1])//0~i-1位为有序,若第i位大于i-1位,继续寻位并插入,否则认为0~i位也是有序的,忽略此次循环,相当于continue
{
int temp=array[i];//保存第i位的值
int k = i - 1;
for(int j=k;j>=0 && temp<array[j];j--)//从第i-1位向前遍历并移位,直至找到小于第i位值停止
{
array[j+1]=array[j];
k--;
}
array[k+1]=temp;//插入第i位的值
}
}
}
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]);
if (i != array.length - 1) {
System.out.print(",");
}
}
}
}
复制代码
作者:
浅易
时间:
2015-10-25 14:02
回到了C的感觉
作者:
叶发伟
时间:
2015-10-25 15:44
感觉看不懂呀
作者:
叶发伟
时间:
2015-10-25 16:06
终于看懂了
作者:
达达达
时间:
2015-10-25 22:35
又记住一个算法,谢了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2