Circular Queue Program
Circular Queue Program
Module Program
Dim Queue(9) As Integer
Dim BackPointer As Integer = -1
Dim FrontPointer As Integer = 0
Dim QueueCount As Integer = 0
Sub Main()
Dim ChoiceNumber As Integer
Do
Do
Console.WriteLine("Enter a number to choose the dequeue operation")
Console.WriteLine("1: Enqueue")
Console.WriteLine("2: Dequeue")
Console.WriteLine("3: End program")
ChoiceNumber = Console.ReadLine
If ChoiceNumber < 1 Or ChoiceNumber > 3 Then
Console.WriteLine("Error, enter a valid number from 1-3")
End If
Loop Until ChoiceNumber >= 1 And ChoiceNumber <= 3
Select Case ChoiceNumber
Case 1
Call Enqueue()
Case 2
Call Dequeue()
End Select
Loop Until ChoiceNumber = 3
End Sub
Sub Enqueue()
If IsFull() = False Then
Console.WriteLine("Enter the number to be placed onto the queue")
If BackPointer >= 9 Then
Queue(FrontPointer) = Console.ReadLine
BackPointer = FrontPointer
Else
Queue(BackPointer + 1) = Console.ReadLine
BackPointer = BackPointer + 1
End If
QueueCount = QueueCount + 1
Else Console.WriteLine("Cannot enqueue, the queue is full.")
End If
Console.WriteLine("The queue now consists of:")
If BackPointer >= FrontPointer Then
For i = FrontPointer To BackPointer
Console.WriteLine(Queue(i))
Iphazha Masala
Next
Else For i = FrontPointer To 9
Console.WriteLine(Queue(i))
Next
For i = 0 To BackPointer
Console.WriteLine(Queue(i))
Next
End If
End Sub
Sub Dequeue()
If IsEmpty() = False Then
Queue(FrontPointer) = 0
FrontPointer = FrontPointer + 1
QueueCount = QueueCount - 1
Else Console.WriteLine("Cannot dequeue, the queue is empty")
End If
Console.WriteLine("The queue now consists of: ")
If BackPointer > FrontPointer Then
For i = FrontPointer To BackPointer
Console.WriteLine(Queue(i))
Next
Else For i = FrontPointer To 9
Console.WriteLine(Queue(i))
Next
For i = 0 To BackPointer
Console.WriteLine(Queue(i))
Next
End If
End Sub
Function IsFull() As Boolean
If QueueCount >= 10 Then
Return True
Else Return False
End If
End Function
Function IsEmpty() As Boolean
If QueueCount <= 0 Then
Return True
Else Return False
End If
End Function
End Module