黑马程序员技术交流社区

标题: 排序算法之直接插入排序 [打印本页]

作者: 叶子和大人    时间: 2015-10-25 11:56
标题: 排序算法之直接插入排序
直接插入排序是一种简单排序。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
  1. public class InsertSort{
  2.      
  3.     public int[] insertSort(int[] array){
  4.         for(int i=1;i<array.length;i++)//第0位独自作为有序数列,从第1位开始向后遍历
  5.         {
  6.             if(array[i]<array[i-1])//0~i-1位为有序,若第i位大于i-1位,继续寻位并插入,否则认为0~i位也是有序的,忽略此次循环,相当于continue
  7.             {
  8.                 int temp=array[i];//保存第i位的值
  9.                 int k = i - 1;
  10.                 for(int j=k;j>=0 && temp<array[j];j--)//从第i-1位向前遍历并移位,直至找到小于第i位值停止
  11.                 {
  12.                     array[j+1]=array[j];
  13.                     k--;
  14.                 }
  15.                 array[k+1]=temp;//插入第i位的值
  16.             }
  17.         }
  18.     }
  19.      
  20.     public static void printArray(int[] array) {
  21.           for (int i = 0; i < array.length; i++) {
  22.                System.out.print(array[i]);
  23.                if (i != array.length - 1) {
  24.                 System.out.print(",");
  25.                }
  26.           }
  27.      }

  28.      

  29. }
复制代码

作者: 浅易    时间: 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