【发布时间】:2018-09-10 03:09:18
【问题描述】:
我需要使用递归,它接受整数数组并让偶数出现在奇数之前,即 [1,2,3,4,5] 的数组应该看起来像 [2,4,1,3 ,5]。请注意,即使在奇数之前,整数也不需要按任何特定顺序排列。这是我到目前为止所拥有的,任何帮助将不胜感激!
public class EBOMain {
static int[] Array = { 1, 2, 3, 4, 5, 6};
static int n;
public static void main(String[] args) {
System.out.print("Array before sort: " );
for (int i = 0; i < Array.length; i++)
System.out.print(Array[i] +" ");
n = Array.length;
rearrange(Array, n);
System.out.print("\nArray after sort: " );
for (int i = 0; i < Array.length; i++)
System.out.print(Array[i] +" ");
}
public static void rearrange(int []Array,int n){
if (n==0)
return;
else if(Array[n-1]%2==0) {
for(int i=0;i<n-1;i++) {
if(Array[i]%2!=0) {
int temp = Array[i];
Array[i]= Array[n-1];
Array[n-1] = temp;
rearrange(Array,n-1);
}
}
}
else
rearrange(Array,n-1);
}
}
【问题讨论】:
-
如果我确实想将新数组排列成特定的顺序,我会怎么做?所以我再次得到数组 [1,2,3,4,5] ,现在我希望它以特定顺序排列偶数在赔率之前,但偶数和奇数都按升序排列,因此新数组必须显示为 [ 2,4,1,3,5]。我再次需要使用递归。
-
@JosephV 最好在一个新问题中提出这个问题。您可以发布此链接以供参考。
-
@ModusTollens 我可以将网址复制并粘贴到问题框中还是有其他方法可以链接它?提前致谢!
-
@JosephV 您可以使用问题下方的共享链接来获取它的链接(答案也是如此)。您可以复制并粘贴该链接。问题应该独立存在,因此发布代码以显示您尝试过的内容也很重要。
-
@ModusTollens 好的,我明天起床后会尝试一下,现在是凌晨 1 点,有点累。再次感谢您的帮助!