массив представляет собой массив строк.массив {"hello", "how", "are", "you", "?"}
это вроде работает, но он единственное, что распечатка смешивает последние 2 элемента, и когда я запускаю свою программу, распечатка получается как you ? are how hello
, это должно быть ? you are how hello
.
Я вставил оператор печати, чтобы увидеть, каково мое левое и правое, и если они переключаются, но это не помогло, поскольку они только распечатали начальные значения и ничего больше.
любая помощьбудет оценено.или почему он печатает неправильно?Разве это не делает рекурсию?
Это мой метод, это должно быть сделано с разделяй и властвуй
public void outrev()
{
outrev(0,a.length-1);
}
private void outrev(int left, int right)
{
System.out.println("left a[" + left + "] is " + a[left]);
System.out.println("right a[" + right + "] is " + a[right]);
int mid;
if(left > right)
{
//do nothing
}
else if(left == right)
{
System.out.print(a[left]);
}
else
{
mid = (left + right) / 2;
outm(mid+1, right);
System.out.print(a[mid] + " ");
outm(left, mid-1);
}
}