VB.Net/Data Structure/Stack
Содержание
Push Integer into a Stack
<source lang="vbnet"> 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
</source>
Simple Demo for Stack: Push, Pop and Peek
<source lang="vbnet"> 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
</source>
Stack Demo: push, pop and peek
<source lang="vbnet"> 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
</source>
Stack to Array
<source lang="vbnet"> 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
</source>