1 / 19

LINKED LIST (List linier)

LINKED LIST (List linier). Definisi. Linked list adalah sekumpulan komponen yangsaling berhubungan (berantai) secara berurutan dengan bantuan pointer. Link. data. data. data. Null. Simpul / node. Linked list terdiri dari 2 komponen:

gili
Télécharger la présentation

LINKED LIST (List linier)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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; } Link info nextptr node

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

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

  7. //menyambung node a dan node ba->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 Hapus D A B C D 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 Begin if Bantu^.Berikutnya^.nilai = X then begin Hapus:=Bantu^.Berikutnya; Bantu^.Berikutnya:=Hapus^.Berikutnya; dispose(Hapus); End;

  19. The End

More Related