VB.Net/Data Structure/Stack

Материал из VB Эксперт
Перейти к: навигация, поиск

Push Integer into a Stack

Imports System
Imports System.Collections
Imports System.Collections.Specialized

Public Class MainClass
    
    Shared Sub Main(ByVal args As String())
        Dim letter_stack As New Stack
       
        
        " Add the letters to the stack.
        For i As Integer = 0 To 10
            Console.WriteLine(i)
            letter_stack.Push(i)
        Next
        " Remove the letters from the stack.
        Do While letter_stack.Count > 0
            Console.WriteLine( DirectCast(letter_stack.Pop(), Integer) )
        Loop
    End Sub
End Class


Simple Demo for Stack: Push, Pop and Peek

Imports System
Imports System.Collections
 
Public Class MainClass
    Shared Sub Main(ByVal args As String())
             Dim intStack As New Stack( )
             " populate the stack
             Dim i As Integer
             For i = 0 To 7
                 intStack.Push((i * 5))
             Next i
             " Display the Stack.
             Console.WriteLine("intStack values:")
             DisplayValues(intStack)
             " Remove an element from the stack.
             Console.WriteLine("(Pop){0}", intStack.Pop( ))
             " Display the Stack.
             Console.WriteLine("intStack values:")
             DisplayValues(intStack)
             " Remove another element from the stack.
             Console.WriteLine("(Pop){0}", intStack.Pop( ))
             " Display the Stack.
             Console.WriteLine("intStack values:")
             DisplayValues(intStack)
             " View the first element in the
             " Stack but do not remove.
             Console.WriteLine("(Peek)   {0}", intStack.Peek( ))
             " Display the Stack.
             Console.WriteLine("intStack values:")
             DisplayValues(intStack)
    End Sub
    Public Shared Sub DisplayValues(ByVal myCollection As IEnumerable)
        Dim myEnumerator As IEnumerator = myCollection.GetEnumerator( )
        While myEnumerator.MoveNext( )
             Console.WriteLine("{0} ", myEnumerator.Current)
        End While
        Console.WriteLine( )
    End Sub "DisplayValues
End Class


Stack Demo: push, pop and peek

Imports System
Imports System.Collections
Public Class MainClass
    
    Shared Sub Main()
             Dim intStack As New Stack(  )
             "populate the stack
             Dim i As Integer
             For i = 0 To 7
                 intStack.Push((i * 5))
             Next i
             Console.WriteLine("intStack values:")
             DisplayValues(intStack)
             Console.WriteLine("(Pop){0}", intStack.Pop(  ))
             Console.WriteLine("intStack values:")
             DisplayValues(intStack)
             Console.WriteLine("(Pop){0}", intStack.Pop(  ))
             Console.WriteLine("intStack values:")
             DisplayValues(intStack)
             Console.WriteLine("(Peek)   {0}", intStack.Peek(  ))
             Console.WriteLine("intStack values:")
             DisplayValues(intStack)
   End Sub
   Public Shared Sub DisplayValues(ByVal myCollection As IEnumerable)
       Dim myEnumerator As IEnumerator = myCollection.GetEnumerator(  )
       While myEnumerator.MoveNext(  )
           Console.WriteLine("{0} ", myEnumerator.Current)
       End While
       Console.WriteLine(  )
   End Sub
End Class


Stack to Array

Imports System
Imports System.Collections
Public Class MainClass
    
    Shared Sub Main()
             Dim intStack As New Stack(  )
             Dim i As Integer
             For i = 1 To 4
                 intStack.Push((i * 5))
             Next i
             Console.WriteLine("intStack values:")
             DisplayValues(intStack)
             Const arraySize As Integer = 10
             Dim testArray(arraySize) As Integer
             For i = 1 To arraySize - 1
                 testArray(i) = i * 100
             Next i
             Console.WriteLine("Contents of the test array")
             DisplayValues(testArray)
             intStack.CopyTo(testArray, 3)
             Console.WriteLine("TestArray after copy:  ")
             DisplayValues(testArray)
             Dim myArray As Object(  ) = intStack.ToArray(  )
             Console.WriteLine("The new array:")
             DisplayValues(myArray)
   End Sub
   Public Shared Sub DisplayValues(ByVal myCollection As IEnumerable)
       Dim myEnumerator As IEnumerator = myCollection.GetEnumerator(  )
       While myEnumerator.MoveNext(  )
           Console.WriteLine("{0} ", myEnumerator.Current)
       End While
       Console.WriteLine(  )
   End Sub
End Class