java 代码
- 迭代版本:
- void insertSort(a,first,last){
- for(int i=first+1;i<=last;i++){
- element = a[first+1];
- while(--i>=first&&element
- a[i+1]=a[i]
- i--
- }
- a[i+1]=element;
- }
- }
java 代码
- 递归版本:
- public static void insertSort(Comparable[] a,int first,int last){
- if(first<last){
- insertSort(a,first,last-1);
- insertInorder(a[last],a,first,last-1);
- }
- }
- private static void insertInorder(element,a,first,last){
- if(element>=a[last-1]{
- a[last+1]=element;
- }else if(first<last){
- a[last+1]=a[last];
- insertInorder(element,a,first,last-1);
- }else{
- a[last+1]=a[last];
- a[last]=element;
- }
- }