SHOW:
|
|
- or go back to the newest paste.
| 1 | Public Class Form1 | |
| 2 | Structure LinkedList | |
| 3 | Dim Pointer As Integer | |
| 4 | Dim Data As String | |
| 5 | End Structure | |
| 6 | Dim NextFree As Integer = 5 | |
| 7 | Dim StartPointer As Integer = 3 | |
| 8 | Dim node(10) As LinkedList | |
| 9 | ||
| 10 | Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load | |
| 11 | node(1).Data = "Cake" | |
| 12 | node(2).Data = "Biscuit" | |
| 13 | node(3).Data = "Apple" | |
| 14 | node(4).Data = "Bun" | |
| 15 | node(1).Pointer = 0 | |
| 16 | node(2).Pointer = 4 | |
| 17 | node(3).Pointer = 2 | |
| 18 | node(4).Pointer = 1 | |
| 19 | Call UpdateList() | |
| 20 | End Sub | |
| 21 | Sub UpdateList() | |
| 22 | ||
| 23 | If NextFree = 11 Then | |
| 24 | MsgBox("No space left")
| |
| 25 | Else | |
| 26 | lstOutput.Items.Clear() | |
| 27 | For i = 1 To NextFree | |
| 28 | If Not String.IsNullOrEmpty(node(i).Data) Then | |
| 29 | lstOutput.Items.Add(node(i).Data) | |
| 30 | End If | |
| 31 | Next i | |
| 32 | End If | |
| 33 | End Sub | |
| 34 | Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click | |
| 35 | Me.Close() | |
| 36 | End | |
| 37 | End Sub | |
| 38 | ||
| 39 | Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click | |
| 40 | Dim item As String = InputBox("Please Insert data to add")
| |
| 41 | node(NextFree).Data = item | |
| 42 | If item < node(StartPointer).Data Then | |
| 43 | Dim temp As String = NextFree | |
| 44 | NextFree = node(NextFree).Pointer | |
| 45 | node(temp).Pointer = StartPointer | |
| 46 | StartPointer = temp | |
| 47 | End If | |
| 48 | NextFree += 1 | |
| 49 | Call UpdateList() | |
| 50 | End Sub | |
| 51 | ||
| 52 | Private Sub btnRemove_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRemove.Click | |
| 53 | Dim item As String = lstOutput.SelectedItem | |
| 54 | Dim itemPointer, itemAddr As Integer | |
| 55 | For i = 1 To NextFree | |
| 56 | - | MsgBox(node(i).Pointer) |
| 56 | + | |
| 57 | itemPointer = node(i).Pointer | |
| 58 | itemAddr = i | |
| 59 | End If | |
| 60 | Next i | |
| 61 | Dim temp As String = NextFree | |
| 62 | NextFree = itemAddr | |
| 63 | node(itemAddr - 1).Pointer = node(itemAddr).Pointer | |
| 64 | node(itemAddr).Pointer = temp | |
| 65 | NextFree -= 1 | |
| 66 | node(itemAddr).Data = Nothing | |
| 67 | node(itemAddr).Pointer = Nothing | |
| 68 | Call UpdateList() | |
| 69 | End Sub | |
| 70 | ||
| 71 | Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click | |
| 72 | Dim item As String = InputBox("Please specify your search query")
| |
| 73 | Dim result As Integer | |
| 74 | Dim status As Boolean | |
| 75 | For i = 1 To NextFree | |
| 76 | If item = node(i).Data Then | |
| 77 | MsgBox("Item has been found with following addr " & node(i).Pointer)
| |
| 78 | result = node(i).Pointer | |
| 79 | status = True | |
| 80 | End If | |
| 81 | Next | |
| 82 | If status = False And result = Nothing Then | |
| 83 | MsgBox("No data has been found please try again")
| |
| 84 | End If | |
| 85 | ||
| 86 | End Sub | |
| 87 | End Class |