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 && 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