fn main() {
// Array to iterate
let arr: [i32; 8] = [0, 1, 2, 3, 4, 5, 6, 7];
let n: usize = arr.len();
// Middle index for even-sized arrays
let mid: usize = n / 2;
// Left starts before the middle, right starts at the middle
let mut left: isize = mid as isize - 1;
let mut right: usize = mid;
// Iterate outward from the middle
while left >= 0 || right < n {
if right < n {
print!("{} ", arr[right]);
right += 1;
}
if left >= 0 {
print!("{} ", arr[left as usize]);
left -= 1;
}
}
}
/*
run:
4 3 5 2 6 1 7 0
*/