Stacks and Queues Push and Pop Primary operations
- Slides: 13
Stacks and Queues
Push and Pop • Primary operations: Push and Pop • Push – Add an element to the top of the stack • Pop – Remove the element at the top of the stack empty stack push an element top top A push another B A pop top A
POP דוגמא של Module 1 Sub Main() Dim test As New Stack() Dim i As Integer For i = 1 To 5 test. Push(i) Next Console. Write. Line(test. Count) For i = 1 To test. Count Dim num As Integer = test. Pop() Console. Write. Line(num) Next End Sub End Module
PEEK דוגמא של Module 1 Sub Main() Dim test As New Stack() Dim i As Integer For i = 1 To 5 test. Push(i) Next Console. Write. Line(test. Count) For i = 1 To test. Count Dim num As Integer = test. Peek() Console. Write. Line(num) Next End Sub End Module
להמציא מחדש את הגלגל Public Class CStack Private index As Integer Private list As New Array. List() Public Sub New() index = -1 End Sub Public Function Count() As Integer Return list. Count() End Function Public Sub Push(By. Val val As Object) list. Add(val) index += 1 End Sub Public Function Pop() As Object Dim obj As Object = list. Item(index) list. Remove. At(index) index -= 1 Return obj End Function Public Function Peek() As Object Return list. Item(index) End Function End Class
( )אותו דבר MAIN שימוש ב Sub Main() Dim test As New CStack() Dim i As Integer For i = 1 To 5 test. Push(i) Next Console. Write. Line(test. Count) For i = 1 To test. Count Dim num As Integer = test. Pop() Console. Write. Line(num) Next End Sub
דוגמא Module 1 Sub Main() Dim queue As New Queue Dim i As Integer For i = 1 To 5 queue. Enqueue(i) Next For i = 1 To queue. Count Console. Write. Line(queue. Dequeue()) Next End Sub
? QUEUE איך בונים : תרגיל Public Class CStack Private index As Integer Private list As New Array. List() Public Sub New() index = -1 End Sub Public Function Count() As Integer Return list. Count() End Function Public Sub Enqueue(By. Val val As Object) ? ? End Sub Public Function Dequeue() As Object ? ? ? End Function Public Function Peek() As Object Return list. Item(0) End Function End Class
Structure Stock Dim Amount As Integer Dim Price As Decimal End Structure ? ? איך מתחילים Module 1 Sub Main() Dim List 1 As New Queue() Dim List 2 As New Stack() Dim temp As Stock temp. Amount = 10 temp. Price = 5. 5 List 1. Enqueue(temp) List 2. Push(temp) temp. Amount = 50 temp. Price = 8. 5 List 1. Enqueue(temp) List 2. Push(temp) temp = List 1. Peek() Console. Write. Line("What's the cost? " & temp. Price) temp = List 2. Peek() Console. Write. Line("What's the cost? " & temp. Price) End Sub End Module