gh0st-00p

Untitled

Nov 17th, 2013
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.             If item = node(i).Data Then
  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
Advertisement
Add Comment
Please, Sign In to add comment