Linked List dalam Visual Basic

Linked List adalah salah satu bentuk struktur data, berisi kumpulan data
(node) yang tersusun secara sekuensial, saling sambungmenyambung,
dinamis dan terbatas.
- Linked List sering disebut juga Senarai Berantai
- Linked List saling terhubung dengan bantuan variabel pointer
- Masing-masing data dalam Linked List disebut dengan node (simpul) yang
menempati alokasi memori secara dinamis dan biasanya berupa struct
yang terdiri dari beberapa field.

Single Linked List adalah sebuah LINKED LIST yang menggunakan sebuah variabel pointer saja untuk menyimpan banyak data dengan metode LINKED LIST, suatu daftar isi yang saling berhubungan.


Ada 3 macam Linked List :
1. Single Linked List
    Merupaka Linked List yang dapat berjalan satu arah.




2. Double Linked List
     Merupakan Linked List yang bisa berjalan dalam dua arah karena mempunyai dua node , node next dan previous.


3. Sircular Linked List
     Merupakan Linked List yang bagian node tail tidak bernilai null tetapi berhubungan dengan node Head.


Penggunaan Linked List
Linked List digunakan dalam penyimpanan data, dengan sistem yang mirip dengan array namun berbeda pada cara kerjanya. Bila array kita telah menyediakan atau mendeklarasikan banyaknya ruang yang ada pada memori untuk diisi dengan data. Bila menggunakan array memungkinkan terjadinya kelebihan ruang memori dan kekurangan ruang memori karena kita tidak bisa mengutak atik ruang yang telah kita deklarasikan sebelumnya. Berbeda dengan Array, Linked List kita tidak perlu mendeklarasikan banyaknya ruang yang diperlukan, karena linked list bersifat fleksible ia dapat digunakan sesuai kebutuhan tanpa terjadinya kelebihan ruang atau kekurangan ruang pada memori. Data-data yang disimpan menggunakan Linked List di taruh di memori dengan tersebar namun tetap terhubung karenan adanya link pada tiap data.

Source Code Linked List dalam Visual Basic


Declaration

Option Explicit

Private Type LinkedlistNode

 element As Integer
 pointer As Integer

End Type

Dim length As Integer
Dim node As LinkedlistNode

Code

Function createList(size As Integer)
'creates a List A ;syntax -- A = createList(10)
 length = size
 i% = 0

  For i = 0 To i = size
 
      node.element = 0
      node.pointer = i
      i = i + 1
     
  Next
    
End Function

Function setElement(val As Integer, pos As Integer)
'place an element= val to the position = pos
 If (pos > 1) Then

   i% = 0
    
   Do Until i = pos
  
       node.pointer = i

   Loop
    
       node.element = val
       node.pointer = i
    
     Else
   
        node.element = val
        node.pointer = 0
     
  End If
 
 length = length + 1
 
End Function

Function getElement(pos As Integer) As Integer
'returns the element at the position = pos
 If (pos <= length) Then
  
    For i% = 0 To i = pos
   
      node.pointer = i
      i = i + 1
     
    Next
   
      node.pointer = i
      getElement() = node.element
     
   Else
  
     Err.Raise
    

End Function

Function setLength(newSize As Integer)
'sets a new size to the List
 If (newSize > length) Then

   diff% = newSize - length
  
    For i% = 1 To i = diff
   
      addLast (0)
      i = i + 1
     
    Next
 
  Else
 
    diff = length - newSize
   
    i = 0
   
    Do Until i = newSize
   
      node.pointer = i
     
    Loop
        
      For i = size + 1 To i = length
    
         node.element = Nothing
         node.pointer = Nothing
           
         i = i + 1
        
      Next
     
  End If
 
 length = newSize
        
End Function

Private Function addLast(val As Integer)

 addlen% = length + 1

  node.element = 0
  node.pointer = addlen
 
End Function
 

Previous
Next Post »

1 comments:

Click here for comments
Anonymous
admin
March 23, 2022 at 4:13 PM ×

Linked List Dalam Visual Basic ~ Jopa Find Here >>>>> Download Now

>>>>> Download Full

Linked List Dalam Visual Basic ~ Jopa Find Here >>>>> Download LINK

>>>>> Download Now

Linked List Dalam Visual Basic ~ Jopa Find Here >>>>> Download Full

>>>>> Download LINK

Congrats bro Anonymous you got PERTAMAX...! hehehehe...
Reply
avatar
Thanks for your comment