Java 程序实现插入排序

java programming java8object oriented programming

这是一种基于就地比较的排序算法。算法中,会维护一个始终处于排序状态的子列表。例如,数组的下半部分保持排序状态。要插入到这个已排序子列表中的元素必须找到合适的位置,然后将其插入到该位置。因此,算法得名插入排序。

按顺序搜索数组,并将未排序的元素移动并插入到已排序的子列表中(在同一个数组中)。

算法

1. 如果它是第一个元素,则表示它已经排序。返回 1;
2. 选择下一个元素
3. 与已排序子列表中的所有元素进行比较
4. 将已排序子列表中所有大于待排序值的元素移位
5. 插入待排序值
6. 重复此操作,直至列表排序完成

示例

public class InsertionSort {
   public static void main(String args[]){
      int array[] = {10, 20, 25, 63, 96, 57};
      int size = array.length;

      for (int i=1 ;i< size; i++){
         int val = array[i];
         int pos = i;

         while(array[pos-1]>val &amp;&amp; pos>0){
            array[pos] = array[pos-1];
            pos = pos-1;
         }
         array[pos] = val;
      }

      for (int i=0 ;i< size; i++){
         System.out.print(" "+array[i]);
      }
   }
}

输出

10 20 25 57 63 96

相关文章