LINKED LIST by Yohana N 1 Definisi Linked



















- Slides: 19

LINKED LIST by Yohana N 1

Definisi • Linked List adalah sejumlah objek (sering disebut simpul) yang dihubungkan satu dengan lainnya sehingga membentuk rangkaian. • Objek : structure atau record. • Untuk menghubungkan objek satu dg lainnya digunakan pointer. 2

Ilustrasi ¢ ¢ Linked List yang terdiri dari 4 objek / simpul. Objek / simpul dibuat satu per satu bukan sekaligus. (2) X (1) (4) H 800 X X (3) H 1000 X H 1400 3 H 1100

Struktur ¢ Ada 4 macam struktur Linked List : 1. 2. 3. 4. 4 Linear Singly-Linked List Linear Doubly-Linked List Circular Singly-Linked List Circular Doubly-Linked List

Linear Singly-Linked List Merupakan Linked List lurus dengan pointer tunggal. ¢ Ilustrasi : ¢ First 5 Last (1) (2) (3) (4) 25 12 17 10

Simpul LINK Ilustrasi sebuah simpul dg 2 elemen / field : INFO ¢ Nama field : LINK Tipe : pointer Isi : alamat simpul / record berikutnya Nama field : INFO Tipe : integer/char/real Isi : data 6

Membuat Struktur Simpul ¢ 7 Instruksi : struct simpul { int Info; struct simpul *Link; }; simpul *First, * Last;

Proses ¢ Ada 4 proses dasar dalam Linked List : 1. 2. 3. 4. 5. 8 Inisialisasi Membuat simpul baru. Membuat simpul awal. Menambahkan simpul baru ke dalam Linked List (INSERT) Menghapus sebuah simpul dari Linked List (DELETE)

Inisialisasi Proses awal menyatakan Linked List belum ada. ¢ Algoritma : ¢ First = Null; Last = Null; ¢ Ilustrasi Proses : First 9 Last

Membuat Simpul Baru ¢ Instruksi : P = (simpul *) malloc(sizeof(simpul)); ¢ 10 Algoritma : void Buat_Simpul(int x) { P = (simpul *) malloc(sizeof(simpul)); if (P != NULL) { P -> Info = x; } else cout<<“Simpul gagal dibuat ”; }

Membuat Simpul Awal ¢ Algoritma : Syarat : 1. void Awal() { First = P; Last = P; P -> Link = NULL; } 11 2. Linked List belum ada. Sudah ada simpul yang akan dijadikan simpul awal.

Insert Simpul ke Linked List INSERT : ¢ 1. 2. 3. KANAN/AKHIR KIRI/AWAL TENGAH Syarat : 1. 2. Linked List sudah ada. Sudah ada simpul yang akan ditambahkan ke Linked List. 12

Insert Simpul ke Linked List -1 ¢ INSERT KANAN/AKHIR Algoritma : void Ins_Akhir() { Last -> Link = P; Last = P; P -> Link = NULL; } 13

Insert Simpul ke Linked List -2 ¢ INSERT KIRI/AWAL Algoritma : void Ins_Awal() { P -> Link = First; First = P; } 14

Insert Simpul ke Linked List -3 ¢ INSERT TENGAH Algoritma : void Ins_Tengah() { P -> Link = Q ->Link; Q -> Link = P; } 15

Delete Simpul dari Linked List ¢ DELETE : 1. 2. 3. KANAN/AKHIR KIRI/AWAL TENGAH Syarat : 1. Linked List sudah ada. 16

Delete Simpul dari Linked List -1 ¢ DELETE KANAN/AKHIR Algoritma : void Del_Akhir() { free(Last); Last = Q; Last -> Link = NULL; } 17

Delete Simpul dari Linked List -2 ¢ DELETE KIRI/AWAL Algoritma : void Del_Awal() { Q = First; First = Q -> Link; free(Q); } 18

Delete Simpul dari Linked List -3 ¢ DELETE TENGAH Algoritma : void Del_Tengah() { R = Q->Link ; Q->Link = R->Link; free(R); } 19
Singly vs doubly linked list
Difference between an array and a linked list
Perbedaan single linked list dan double linked list
Historia ya yohana wa patimo
Yohana lopez
Generic linked list java
Jenis linked list
Singly vs doubly linked list
Polynomial addition using linked list in c++
Market basket analysis
Xor linked list
C++ list
Linked list in mips
Linked list definition
Linked list diagram in java
Advantages of singly linked list
Language
Circular single linked list
Concurrent linked list
Double linked list non circular