Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

LINKED LIST (List linier)

Presentasi serupa


Presentasi berjudul: "LINKED LIST (List linier)"— Transcript presentasi:

1 LINKED LIST (List linier)

2 Definisi Linked list adalah sekumpulan komponen yangsaling berhubungan (berantai) secara berurutan dengan bantuan pointer Link data data data Null Simpul / node

3 Linked list terdiri dari 2 komponen:
data : satu atau lebih field yang yang berisi data di linked list. Link : satu pointer yang menunjuk ke data berikutnya. Link data Simpul / node

4 Deklarasi Link list struct node { } int info; struct node *nextPtr;

5 Ilustrasi menyambung node a dgn b:
Link //deklarasi Link List Node *a; Node *nextptr; a = new Node; //pendeklarasian dengan menggunakan keyword new //menyambung link list Int data ; a -> data = 1; a->nextptr = NULL; data nextptr New node 1 Null Node a

6 //pendeklarasian node b Node * b; b->data = 2; b->nextptr = NULL;

7 //menyambung node a dan node b a->nextptr = b;
Link Link 1 nextptr 2 null Node a Node b

8 Operasi-Operasi Linked List
Buat List Tambah node(simpul) Hapus node(simpul) Cari node(simpul) Melacak list (Membaca node-node)

9 Membuat linked list Syarat dalam membuat linked list: Harus mempunyai ujung awal dari simpul dan ujung akhir. Ujung awal, untuk mengetahui awal dari simpul. Ujung akhir untuk mengetahui sampai dimana linked list berakhir awal Link data data data Null akhir Simpul

10 Tambah Node/Simpul Fungsi menambah simpul di belakang. Langkah-langkahnya: membuat simpul baru kemudian diisi info baru. simpul paling akhir dihubungkan ke simpul baru. penunjuk pointer akhir diarahkan ke simpul simpul baru.

11 Ilustrasi menambah simpul baru
pointer awal akhir Baru D A C N I. awal akhir Baru D A C N II. awal akhir Baru D A C N III.

12 Procedure menambah simpul
void tambahnode(NODPTR *s, NODPTR t, NODPTR p) { if (p==NULL) { t -> next = *s; *s = t; } else { t -> next = p -> next; p ->next = t;

13 Membaca isi Simpul Pertama kali kita atur supaya pointer bantu menunjuk ke pointer awal. Setelah isi simpul terbaca, pointer bantu kita garakkan ke kanan untuk membaca simpul berikut. Proses ini kita ulangi sampai pointer bantu berimpitan dengan pointer akhir

14 Ilustrasi membaca simpul
Bantu awal akhir AA A B C I.

15 Procedure membaca simpul
Procedure baca; Var Bantu : simpul; Begin Bantu :=Awal; Repeat write(Bantu^.info); Bantu :=Bantu^.Berikut; Until Bantu :=nil; End;

16 Cara menghapus Pertama kali kita letakkan pointer bantu di sebelah kiri simpul yang dihapus (Gb.I) Simpul yang dihapus kita tunjuk dengan simpul lain misal: hapus. (Gb.I) Pinter pada simpul bantu , kita arahkan pada simpul yang ditunjuk oleh pointer hapus( Gb. II) Simpul yang ditunjuk oleh pointer hapus kita dispose(Gb. III)

17 Ilustrasi awal Bantu akhir Hapus D A B C D Gb. I awal Bantu akhir
Gb.II Dispose awal Bantu akhir D A C D Gb.III

18 Procedure Hapus_Tengah(Var L : Pointer; X : Integer); Var
Bantu,Hapus : Pointer; Begin Bantu := L; New(Hapus); While Bantu^.Berikutnya <> nil Do if Bantu^.Berikutnya^.nilai = X then begin Hapus:=Bantu^.Berikutnya; Bantu^.Berikutnya:=Hapus^.Berikutnya; dispose(Hapus); End;

19 The End


Download ppt "LINKED LIST (List linier)"

Presentasi serupa


Iklan oleh Google