object MiddleOut {
def main(args: Array[String]): Unit = {
// Array to iterate
val arr: Array[Int] = Array(0, 1, 2, 3, 4, 5, 6, 7)
val n: Int = arr.length
// Middle index for even-sized arrays
val mid: Int = n / 2
// Left starts before the middle, right starts at the middle
var left: Int = mid - 1
var right: Int = mid
// Iterate outward from the middle
while (left >= 0 || right < n) {
if (right < n) {
Console.out.print(s"${arr(right)} ")
right += 1
}
if (left >= 0) {
Console.out.print(s"${arr(left)} ")
left -= 1
}
}
}
}
/*
run:
4 3 5 2 6 1 7 0
*/