当前位置:首页 > 开发 > 编程语言 > Java > 正文

插入排序(JAVA)

发表于: 2012-08-25   作者:128kj   来源:转载   浏览:
摘要: 网上的代码太多了,找些易理解的。 我们把数组分为已排序和未排序两部分,把未排序的元素一次一个插入到已排序部分的合适位置上。已排序部分逐渐增大,直到整个数组变成有序的。 下面通过一个例子来说明这个排序流程:       待排序列:   49, 38 , 65 , 97, 76 , 13, 27 ,49  &
网上的代码太多了,找些易理解的。
我们把数组分为已排序和未排序两部分,把未排序的元素一次一个插入到已排序部分的合适位置上。已排序部分逐渐增大,直到整个数组变成有序的。
下面通过一个例子来说明这个排序流程:
      待排序列:   49, 38 , 65 , 97, 76 , 13, 27 ,49

       插入49:   49

       插入38:   38, 49

       插入65:   38, 49,  65

       插入97:   38, 49,  65,  97

       插入76:   38, 49,  65,  76,  97

       插入13:   13, 38,  49,  65,  76,  97

       插入27:   13, 27,  38,  49,  65,  76, 97

       插入49:   13, 27,  38,  49,  49,  65, 76, 97

   大家想想在排队时,要把个子矮的人调整到适当的位置,都是和他前面的比较,如果比他前面的人矮,就插入到前面去,直到他前面的人都比他个子矮,这样最后就可以形成一个有序的队伍。下面是代码:

public class InsertSort {

    public static void main(String[] args) {
    int[] array = {10,-3,5,34,-34,5,0,9};   
    sort(array);
    for(int el : array) {
        System.out.print(el + " ");
    }
    }
    
    static void sort(int[] array) {
    int temp;
    int i,j;
    int length = array.length;
        
    for(i = 1; i < length; i++) {
        temp = array[i];
        for(j = i-1; j >=0; j--) {
        if(temp < array[j]) {
            array[j+1] = array[j];
        } else {
            break;
        }
        }
        array[j+1] = temp;
    }
    }
}




排序过程:
-3 10 5 34 -34 5 0 9
-3 5 10 34 -34 5 0 9
-3 5 10 34 -34 5 0 9
-34 -3 5 10 34 5 0 9
-34 -3 5 5 10 34 0 9
-34 -3 0 5 5 10 34 9
-34 -3 0 5 5 9 10 34

下载源码:

插入排序(JAVA)

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
插入排序: 包括:直接插入排序,二分插入排序(又称折半插入排序),链表插入排序,希尔排序(又称
public class Test { static void Insert(int a[]) { int j; for (int i = 1; i < a.length; i++
public class InsertSort { //插入排序 //基本思想: //在要排序的一组数中,假定前n-1个数已经排好
我的代码执行环境: 操作系统:OS X Yosemite python版本2.7.6 微信公众平台:今天做了没 插入排序
算法思想 1、从第一个元素开始,改元素可以认为已经被排序 2、取出第一个未排序的元素存放在临时变
基本思想 经典排序算法 – 插入排序Insertion sort 插入排序就是每一步都将一个待排数据按其大小插
插入排序的思想: 插入排序算法与我们打牌时,排列牌的顺序差不多。在我们摸牌时,我们一次一张牌的
. package sortAlgorithem; import java.util.Arrays; /** * 参考:http://v.youku.com/v_show/id_XM
有一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍
插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号