使用递归函数来颠倒数组的后半部分

问题描述:

我是java编程的初学者。我明白我如何打印反转的数组,但不知道如何将它打印成一半。例如:使用递归函数来颠倒数组的后半部分

原始数组A = {1,2,3,4,5,6,7,8,9,0}

功能后:

转化阵列甲'= {1,2,3,4,5,0,9,8,7,6}

private void reverse(int[] ar, int i, int j) { 
    if(i>j) 
    return; 
    else{ 
    int temp = ar[i]; 
    ar[i] = ar[j]; 
    ar[j] = temp; 
    reverse(ar, ++i, --j); 
    } 
} 

呼叫reverse(ar, (ar.length/2), ar.length-1)

尝试以下步骤,

  1. 求出数组的长度 - N的
  2. 创建尺寸的另一个阵列 - N的
  3. 查找半 - N的
  4. 复印前n个元素
  5. 分段,从最后一个(索引到最后一个元件)就复制直到第n个位置的元素(注索引指针应来自主方法递减)