1 / 14

SENARAI BERANTAI (LINKED LIST)

SENARAI BERANTAI (LINKED LIST). Fajrizal. Senarai / list adalah : Kumpulan linear sejumlah data Atau ; Kumpulan komponen yg disusun secara berurutan dengan bantuan pointer. Masing-masing komponen dinamakan dengan simpul (node). Setiap simpul dalam senarai berantai terbagi menjadi dua,

roxy
Download Presentation

SENARAI BERANTAI (LINKED LIST)

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. SENARAI BERANTAI(LINKED LIST) Fajrizal

  2. Senarai / list adalah : Kumpulan linear sejumlah data Atau ; Kumpulan komponen yg disusun secara berurutan dengan bantuan pointer. Masing-masing komponen dinamakan dengan simpul (node). Setiap simpul dalam senarai berantai terbagi menjadi dua, * bagian pertama disebut medan informasi * bagian kedua disebut medan penyambung ( linked list)

  3. Awal Contoh senarai berantai dengan 6 simpul : E F D C B A Medan penyambung dari simpul kedua Medan informasi dari simpul kedua

  4. PENYAJIAN SENARAI BERANTAI INFO SAMBUNGAN 1 2 Awal 3 2 4 5 6 7 Habis 8 9 10

  5. SEX SAMBUNGAN NAMA ANGK NOMOR 1 2 3 TEK 4 7 5 6 EKON 7 2 8 9 10 11 12 13 14

  6. OPERASI PADA SENARAI BERANTAI 1. Menambah Simpul Menggunakan Deklarasi Pointer type simpul = ^Data; Data = record info : string; Berikut : Simpul; end; var Elemen : string; Awal, Akhir, Baru : Simpul;

  7. a. Menambah di belakang Baru Akhir Awal F D C B A Baru Akhir Awal F D C B A Baru Akhir Awal F D C B A

  8. Procedure untuk menambah simpul di belakang : procedure TAMBAH_BELAKANG ( var awal, akhir : simpul; elemen : string); var baru : simpul ; begin new (baru); baru^.info := elemen ; if awal = nil then  senarai masih kosong awal := baru else akhir^.berikut := baru ; akhir := baru; akhir^.berikut := nil end;

  9. b. Menambah di depan Akhir Awal Baru F D C B A Akhir Awal Baru F D C B A Akhir Baru Awal F D C B A

  10. Procedure untuk menambah simpul di depan : procedure TAMBAH_DEPAN ( var awal, akhir : simpul; elemen : string); var baru : simpul ; begin new (baru); baru^.info := elemen ; if awal = nil then  senarai masih kosong akhir := baru else baru^.berikut := awal ; awal := baru; end;

  11. c. Menambah di tengah Akhir Bantu Awal F D B A Baru C Akhir Bantu Awal F D B A Baru C Akhir Bantu Awal F D B A Baru C

  12. Procedure untuk menambah simpul di tengah : procedure TAMBAH_TENGAH ( var awal, akhir : simpul; elemen : char); var baru, bantu : simpul ; begin new (baru); baru^.info := elemen ; if awal = nil then  senarai masih kosong begin awal := baru; akhir := baru end else begin { mencari lokasi yg sesuai } bantu := awal; while elemen > baru^.berikut^.info do bantu := bantu^.berikut; { menyisipkan simpul baru} baru^.berikut := bantu^.berikut ; bantu^.berikut := baru; end; end;

  13. 2. Menghapus Simpul a. Menghapus simpul pertama Akhir Bantu Awal E D C B A Akhir Awal Bantu E D C B A Akhir Awal E D C B

  14. b. Menghapus simpul di tengah / terakhir Akhir Hapus Bantu Awal E D C B A Akhir Hapus Bantu Awal E D C B A Akhir Awal E D B A

More Related