数据结构与算法插入排序

Posted 尼克同学的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构与算法插入排序相关的知识,希望对你有一定的参考价值。

public class InsertionSort {

    public static void sort(Integer[] array) {
        if (array == null || array.length == 0) {
            return;
        }

        Integer value = null;
        Integer tempIndex = null;
        for (int i = 1; i < array.length; i++) {
            value = array[i];
            tempIndex = i - 1;

            while (tempIndex >= 0) {
                if (value < array[tempIndex]) {
                    /* 遍历有序序列,遇到比要插入的元素大的元素,则后移一位 */
                    array[tempIndex + 1] = array[tempIndex];
                    tempIndex--;
                } else {
                    /* 遍历有序序列,遇到比要插入的元素小的元素,可以停止了 */
                    break;
                }
            }

            array[tempIndex + 1] = value;
        }
    }

}

 

import org.junit.Test;


public class HowToTest {

    @Test
    public void c1() {
        Integer[] array = {3,16,1,5,2,18,0,9,20,11};
        InsertionSort.sort(array);

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

    @Test
    public void c2() {
        Integer[] array = {99,98,97,96,95,94,93,92,91,101,90,89,88,87,86,85};
        InsertionSort.sort(array);

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

}

 

以上是关于数据结构与算法插入排序的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript算法(冒泡排序选择排序与插入排序)

Java常用的八种排序算法与代码实现

[Java数据结构与算法]简单排序之插入排序

数据结构与算法-插入排序

图解数据结构与算法——插入排序

8 种排序算法与 Java 代码实现!