VB.Net/Data Structure/Stack
Содержание
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