java常用排序算法之插入排序

来源:互联网 发布:美工专用笔记本 编辑:程序博客网 时间:2024/06/06 14:16

直接插入排序法的思想是,把待排序的元素分成两部分,一部分是没排好序的元素,另一部分是排好序的元素。把没排好序的元素,逐一的插入已排好序的部分。

下面是使用直接插入排序法实现升序排序的步骤:

1.从第一个元素开始,可以认为该元素已经被排序,

2.取出下一个元素,在已排序的元素序列中从后向前扫描,

3 若已排序元素大于新元素,则将该元素移到下一位,

4 重复上一步骤,直到找到已排序元素小于或等于新元素位置,

5 将新元素插入下一位置,

6 重复2的步骤。




使用直接插入法,对一组数据 23,45,16,7,42按照由小到大顺序排列并输出结果。

排序过程如图

初始关键字   【23】        45        16         7          42

                                              

第一步            【23          45】      16        7         42


第二步            【16          23           45】  7         42


第三步            【7            16            23      45】   42


第四步           【7              16           23       42        45】




代码如下

//  待排序数组

int [ ] data={23,45,16,7,42};

for(int i=1, i<data.length,i++){

       int currentData=data[i];

      int temp=i;

      while(temp>0&&data[temp-1]>currentData){

            data[temp]=data[temp-1];

   //   循环条件

           temp---;

     }

//  temp已经自减一个了

    data[temp]=currentData;

     }

 for(int  x: data){

        System.out.println(x);

}


0 0
原创粉丝点击