递归方法看起来比较好理解,但是真的能想明白还是需要勤加练习。
如下是用递归的思想来实现的插入排序算法:
public static void insertion_sort_re(ArrayList<Integer> a,int length){
// 插入排序的(递归版)java实现
if(length>1){
int key = a.get(length -1) ;
int i = length - 2 ;
while(i>= 0&& a.get(i)>key){
a.set(i+1, a.get(i));
i--;
}
a.set(i+1, key);
}
}
public static void insertion_sort_requsion(ArrayList<Integer> a,int length){
// 插入排序的(递归版)java实现
if(length>1){
insertion_sort_requsion(a,length-1);
insertion_sort_re(a,length);
}
}
自己完全没有思路,还是参考了别人的程序,然后凭着记忆自己又打了一遍,还得加油啊!