数据结构-排序-插入排序

    科技2024-11-24  21

    插入排序原理:

    把所有元素分为两组,已经排序好的和未排序的。找到未排序的组中的第一个元素,向已经排序好的组中进行插入。倒序遍历已经排序的元素,依次和待插入的元素进行比较,直到找到一个元素小于等于待插入元素,就把待插入元素放到这个位置,其他的元素向后移一位。

    插入排序算法实现:(稳定排序)

    public static void main(String[] args) { // 测试 int[] arr = {8, 4, 5, 7, 1, 3, 6, 2}; sort(arr); for (int i : arr) { System.out.print(i+"\t"); } } /* * 插入排序 */ public static void sort(int[] a) { // 外层循环,待排序的数字 for (int i = 1; i < a.length; i++) { for(int j = i; j > 0; j--) { if(greater(a[j-1], a[j])) { exc(a, j-1, j); } else { break; } } } } /* * 比较两个数的大小 */ public static boolean greater(int v, int w) { return v > w; } /* * 交换两个位置的值 */ public static void exc(int[] a, int i, int j) { int temp; temp = a[i]; a[i] = a[j]; a[j] = temp; }

    程序执行结果:

    Processed: 0.010, SQL: 8