Imports Microsoft.visualbasic
Dim list as New LinkedList
Console.WriteLine("Menu:")
Console.writeline("Push: add a value")
console.writeline("Pop: remove a value")
console.writeline("Find: search for a value")
console.writeline("Out: output entire list")
console.writeline("Enter choise")
choise = console.readline()
select case Lcase(choise)
console.writeline("Enter value to be removed")
choise = console.ReadLine()
console.writeline("Enter value to be entered")
choise = console.readline()
console.writeline("Enter value to be found")
choise = console.readline()
If list.Search(choise) = true
console.writeline("{0} was found", choise)
console.writeline("{0} was not found", choise)
console.writeline("Invalid input")
Private StartOfList as integer
Private FreePointer as integer
Dim found as boolean = false
Private Function ChaseToEnd() as integer
Dim currentpointer as integer = StartOfList
Do Until data(currentpointer).pointer = -1
currentpointer = data(currentpointer).pointer
Private Function ChaseTillPoint(inp as string) as integer
Dim currentpointer as integer = StartOfList
Do Until data(currentpointer).value = inp
currentpointer = data(currentpointer).pointer
Public Sub Add(inp as string)
console.writeline("Error: list is full")
StartOfList = FreePointer
data(FreePointer).value = inp
data(FreePointer).pointer = -1
data(FreePointer).value = inp
data(FreePointer).pointer = data(topindex).pointer
data(topindex).pointer = FreePointer
console.writeline("{0} was added to the list", inp)
Public Sub Delete(inp as string)
Dim previousindex as integer
Dim currentindex as integer
console.writeline("Error: list is empty")
console.writeline("Error: value not found in list")
previousindex = ChaseTillPoint(inp)
data(StartOfList).value = ""
StartOfList = data(StartOfList).pointer
console.writeline("{0} was removed from the list", inp)
currentindex = data(previousindex).pointer
data(currentindex).value = ""
data(previousindex).pointer = data(currentindex).pointer
console.writeline("{0} was removed from the list", inp)
Public Function Search(inp as string) as boolean
Dim found as boolean = false
Dim currentpointer as integer = StartOfList
Console.writeline("List is empty")
console.writeline("The list contains the following:")
output = data(currentpointer).value
console.writeline(output)
currentpointer = data(currentpointer).pointer
Loop until currentpointer = -1