Imports System
Module TraverseBothSides
'
' Demonstration of traversing an array from both ends at the same time
' in idiomatic VB.NET.
'
' We use the classic "two‑index" technique:
' - left starts at index 0
' - right starts at index array.Length - 1
' Both move toward the center.
'
' This approach is efficient (O(n)), simple, and widely used in
' algorithms such as palindrome checks, partitioning, and pair searching.
'
' ------------------------------------------------------------
' Function: TraverseFromBothSides
' Purpose: Traverse an array from both ends simultaneously.
' ------------------------------------------------------------
Sub TraverseFromBothSides(arr As Integer())
Dim left As Integer = 0
Dim right As Integer = arr.Length - 1
' Move inward until the indices cross
While left <= right
Console.WriteLine($"Left: {arr(left)}, Right: {arr(right)}")
left += 1
right -= 1
End While
End Sub
' ------------------------------------------------------------
' Main program
' ------------------------------------------------------------
Sub Main()
Dim array As Integer() = {10, 20, 30, 40, 50, 60, 70, 80, 90}
Console.WriteLine("Traversing from both sides:")
TraverseFromBothSides(array)
End Sub
End Module
'
' run:
'
' Traversing from both sides:
' Left: 10, Right: 90
' Left: 20, Right: 80
' Left: 30, Right: 70
' Left: 40, Right: 60
' Left: 50, Right: 50
'