`
清华小园
  • 浏览: 4932 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 插入排序算法

 
阅读更多

最近看编程之美,发现排序算法是其基础。若排序算法掌握的不牢固,看起来很是头疼,于是又从新看了一遍排序算法。在网上查了一下,发现有很多,但是纸上得来终觉浅,自己根据算法思想做了一遍。插入排序算法思想如下:

  1. 从第一个元素开始,该元素可以认为已经被排序
  2. 取出下一个元素,在已经排序的元素序列中从后向前扫描
  3. 如果该元素(已排序)大于新元素,将该元素移到下一位置
  4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
  5. 将新元素插入到该位置后
  6. 重复步骤2~5

具体代码如下:

      public class Insertarray {
                public static void main(String[] args){
                        int[] array={1,4,7,2,5,8,3,6,9};
                        int temp ;
                        for(int i=1;i<array.length;i++){
                               temp = array[i];//取出待排序元素
                               int j=i;//指向当前待排序元素

                                //从后向前遍历,看前面的元素是否大于当前待排序元素,如果大于则把当前元素后移
                              while((j>0)&&(array[j-1]>temp)){
                                     array[j]=array[j-1];
                                     j--; 
                               }

                            //不大于则是其插入位置
                        array[j]=temp;
                        }
                      for(int i=0;i<array.length;i++){
                      System.out.print(array[i]+"  ");
                      }
                }
            }

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics