How to iterate an array from the middle outward (stepping left and right alternately) in Ruby

1 Answer

0 votes
# Array to iterate
arr = [0, 1, 2, 3, 4, 5, 6, 7]
n = arr.length

# Middle index for even-sized arrays
mid = n / 2

# Left starts before the middle, right starts at the middle
left = mid - 1
right = mid

# Iterate outward from the middle
while left >= 0 || right < n

  if right < n
    print "#{arr[right]} "
    right += 1
  end

  if left >= 0
    print "#{arr[left]} "
    left -= 1
  end
end


=begin
run:

4 3 5 2 6 1 7 0

=end

 



answered Jun 29 by avibootz

Related questions

...