Priska Novella

LINKED LIST

Linked List adalah struktur data yang terdiri dari urutan record data dimana setiap record memiliki field yang menyimpan alamat / referensi dari record selanjutnya (dalam urutan). Elemen data yang dihubungkan dengan link pada Linked List disebut Node. Ada dua elemen yang saling berkait setiap dihubungkan dengan elemen lain melalui pointer(alamat elemen). Dua elemen itu adalah Head dan Tail.

  • Head adalah elemen yang berada pada posisi pertama dalam suatu Linked List.
  • Tail adalah elemen yang berada pada posisi terakhir dalam suatu Linked List.
Malloc dengan header file stdlib.h berfungsi untuk mengalokasikan memori dalam membuat Linked List.

Ada beberapa macam Linked List , yaitu :
  1. Single Linked List
  2. Double Linked List
  3. Circular Linked List
  4. Multiple Linked List
1.SINGLE LINKED LIST

Single Linked List adalah pointer nextnya menunjuk pada dirinya sendiri. Jika Single Linked List tersebut terdiri dari beberapa node , maka pointer next pada node terakhir akan menunjuk ke node terdepannya. Biasanya field pada tail menunjuk ke NULL. Single hanya memiliki satu pointer.

Contoh Single Linked List dengan Head :


Contoh Single Linked List Head dengan Tail :


Contoh Codingannya :

struct Mahasiswa{
         char nama[25];
          int usia;
          struct mahasiswa *next;
}*head,*tail;

Pembuatan Single Linked List dapat menggunakan dua metode :
- LIFO (Last In First Out) , aplikasinya : Stack (Tumpukan)
- FIFO (First In First Out) , aplikasinya : Queue (Antrean)

2.DOUBLE LINKED LIST

Double Linked List adalah Linked List yang memiliki dua buah pointer yaitu pointer next dan prev.
pointer next menunjuk pada node setelahnya dan pointer prev menunjuk pada node sebelumnya. Setiap Head dan Tailnya juga menunjuk ke NULL.

Contoh Double Linked List :


Contoh Codingannya :

struct Mahasiswa{
         char nama[25];
          int usia;
          struct mahasiswa *next,*prev;
}*head,*tail;


3.CIRCULAR LINKED LIST

Circular Linked List adalah suatu Linked List dimana Tail (node terakhir) menunjuk ke Head (node pertama). Jadi tidak ada pointer yang menunjuk ke NULL.

Contoh Circular Single Linked List :


Contoh Circular Double Linked List :


4.MULTIPLE LINKED LIST

Multiple Linked List adalah suatu Linked List yang memiliki lebih dari dua untuk variabel pointer.

Contoh Multiple Linked List :


Pengoperasian Push (Insert)  dan Pop (Delete) node dalam Single Linked List
Push dan Pop node pada Linked List dapat dilakukan pada posisi depan (Head), tengah (Mid), dan belakang (tail) dengan satu buah pointer yaitu Next.

PUSH (Insert)

Push merupakan sebuah operasi insert dimana di dalam linked list terdapat 2 kemungkinan insert, yaitu insert melalui depan (pushDepan) ataupun belakang (pushBelakang). Operasi pushDepan berarti data yang paling baru dimasukkan akan berada di depan data lainnya, dan sebaliknya pushBelakang berarti data yang paling baru akan berada di belakang data lainnya.

Contoh Push Depan :


Contoh Push Belakang :


POP (Delete)

Pop, kebalikan dari push, merupakan operasi delete, dimana di dalam linked list memiliki 2 kemungkinan delete, yaitu melalui depan (popDepan) dan melalui belakang (popBelakang). PopDepan berarti data yang akan dihapus adalah data paling depan, dan popBelakang berarti data yang akan dihapus adalah data paling belakang (akhir).

Contoh Pop Depan :


Contoh Pop Belakang :


Pengoperasian Push (Insert)  dan Pop (Delete) node dalam Double Linked List
Push dan Pop node pada Linked List dapat dilakukan pada posisi depan (Head), tengah (Mid), dan belakang (tail) dengan dua buah pointer yaitu Prev dan Next

PUSH (Insert)

Contoh Push Depan :


Contoh Push Belakang :


. POP (Delete)

Contoh Pop Depan :


Contoh Pop Belakang :



Referensi :

Komentar