内排序-插入排序

Posted mytrip

tags:

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

算法思想:每步将一个待排序的记录,插入前面已经排序的序列适当位置上,并使之也有序,重复该过程,直到全部数据插入完为止。

package Sort;

import java.util.Arrays;

public class DirectSort
{
    public static void main(String[] args)
    {

        int[] a = new int[] { 20, 30, 90, 40, 70, 110, 60, 10, 100, 50, 80, 1, 2 };
        DirectSort directSort = new DirectSort();
        directSort.Sort(a);
        ;
        for (int t : a)
            System.out.println(t);
    }

    void ExchangeData(int[] datas, int index1, int index2)
    {
        datas[index1] = datas[index2] + (datas[index2] = datas[index1]) * 0;
    }

    public void Sort(int[] array)
    {
        for (int i = 1; i < array.length; i++)//交换次数,1,2,3,4,。。。。。n-1次 注意冒泡是 n-1,n-2,n-3.....1次
        {
            for (int j = i; j > 0 && array[j - 1] > array[j]; j--)
            {
                ExchangeData(array, j - 1, j);
            }
        }

    }

}

 

以上是关于内排序-插入排序的主要内容,如果未能解决你的问题,请参考以下文章

第七章 内排序——插入排序

内排序-插入排序

插入排序与希尔排序算法

算法:排序

Java各种排序算法详解

7种基本排序算法的Java实现