`

插入排序

阅读更多
java 代码
    迭代版本:
  1. void insertSort(a,first,last){   
  2.      for(int i=first+1;i<=last;i++){
  3.         element = a[first+1];
  4.         while(--i>=first&&element
  5.              a[i+1]=a[i]
  6.              i--
  7.         } 
  8.         a[i+1]=element;
  9.      }
  10. }  

 

 

java 代码
  1. 递归版本:   
  2. public static void insertSort(Comparable[] a,int first,int last){
  3.    if(first<last){
  4.       
  5.        insertSort(a,first,last-1);
  6.        insertInorder(a[last],a,first,last-1);
  7.    }
  8. }
  9. private static void insertInorder(element,a,first,last){
  10.    
  11.     if(element>=a[last-1]{
  12.         a[last+1]=element;
  13.     }else if(first<last){
  14.         a[last+1]=a[last];
  15.         insertInorder(element,a,first,last-1);
  16.     }else{
  17.    
  18.         a[last+1]=a[last];
  19.         a[last]=element;
  20.     }
  21. }  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics