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

1 Answer

0 votes
using System;

class MiddleOut
{
    static void Main()
    {
        int[] arr = { 0, 1, 2, 3, 4, 5, 6, 7 };
        int n = arr.Length;

        int mid = n / 2;      // middle index for even-sized arrays
        int left = mid - 1;   // expand left
        int right = mid;      // expand right

        // Iterate outward from the middle
        while (left >= 0 || right < n)
        {
            if (right < n) {
                Console.Write(arr[right] + " ");
                right++;
            }

            if (left >= 0) {
                Console.Write(arr[left] + " ");
                left--;
            }
        }
    }
}



/*
run:

4 3 5 2 6 1 7 0

*/

 



answered 6 days ago by avibootz

Related questions

...