Tentang Linked List

Linked List merupakan struktur data yang terdiri dari beberapa node yang saling dikaitkan secara linear dengan bantuan pointer.
Node dialokasikan secara dinamik. Tipe data node berupa struct

Jenis – jenis Linked List menurut jumlah pointer pengait node :

  • 1 (satu) pengait node : single linked list
  • 2 (dua) pengait node : double linked list
  • > 2 (lebih dari dua) pengait node  : multiple

Single Linked List (LL)

Contoh deklarasi tipe node
struct nodemhs {
char nama[10];
float ip;
struct nodemhs *next;
}

Contoh deklarasi pointer penunjuk Awal LL
struct nodemhs *head;

Pointer head digunakan untuk mengakses data dalam LL. Akses harus dimulai dari node pertama (sequential)

Pointer head perlu diinisialisasi
head = NULL;

Inisialisai Pointer Head



Pembentukan node baru
struct nodemhs *p, *curr;
//deklarasi variabel pointer
p = (struct nodemhs*)malloc(sizeof…);
strcpy (p->nama, “Dewi”);
p->ip = 4.0;
p->next = NULL;

pembentukan node baru



Pengaitan node baru ke LL


Beberapa jenis pengaitan node baru ke Linked List :

Jika LL masih kosong


Contoh pengaitan node ke Linked List yang masih kosong
if (head ==NULL) head = p;

pengaitan node ke Linked List yang masih kosong
 

Pengaitan ke awal LL


Contoh pengaitan node ke awal Linked List
p->next = head;
head = p;

Misalkan ada node baru p
pengaitan node ke awal Linked List 1
Maka LL menjadi
pengaitan node ke awal Linked List 2
 

Pengaitan ke akhir LL


Contoh pengaitan node ke akhir Linked List

- Cari node terakhir

curr = head;
while (curr->next != NULL) curr=curr->next;

Cari node terakhir

- Pasang / kaitkan ke p

curr->next = p;

Pasang kaitkan ke p
 

Penyisipan pada posisi tertentu


Contoh pengaitan node ke posisi tertentu Linked List
p->next = list->next;
list->next = p;

pengaitan node ke posisi tertentu Linked List
 

Penghapusan Node


Contoh penghapusan Linked List
curr = head;
while (curr->next != list) curr=curr->next;
curr->next = list->next;
free(list);

penghapusan Linked List
 

Circular Single Linked List


Pointer next di node terakhir selalu menunjuk ke node awal Linked List
image





Contoh program Linked List bisa dibaca disini





Related

Algoritma & Struktur Data 934327313320727951

Post a Comment

emo-but-icon

Populer

Comments

Translate

Side Ads

item