插入排序递归

插入排序递归

public class 插入排序递归 {
public static void main(String[] args) {
	int arr[]= {5,4,3,2,1};
	 f(arr,arr.length-1);
	 for(int i=0;i<arr.length;i++) {
		 System.out.print(arr[i]+" ");
	 }
}
private static void f(int[] arr, int n) {
	// TODO Auto-generated method stub
	if(n==0) {
		return ;
	}
	f(arr,n-1);//递归式 最后一个
	
	int aa=arr[n];//最后一个
	int index=n-1;  //拷贝下指针
	while(index>-1&&aa<arr[index]) {//条件2   1
		    arr[index+1]=arr[index]; //把2赋值购给1       2 2
		    index--;
		    
	}
	    arr[index+1]=aa;//交换             把1赋值给 2    12   然后就完成交换
	     
}  
}

猜你喜欢

转载自blog.csdn.net/weixin_45952706/article/details/107738260