Download - 1 6 Senarai Berantai
-
SENARAI BERANTAI(LINKED LIST)Fajrizal
-
Senarai / list adalah :Kumpulan linear sejumlah dataAtau ;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)
-
Contoh senarai berantai dengan 6 simpul :
AwalABCDEFMedan informasi dari simpul keduaMedan penyambung dari simpul kedua
-
PENYAJIAN SENARAI BERANTAI2INFOSAMBUNGAN21345678910AwalHabis
C5A6
D10B1
F0
E8
-
7NAMANOMOR21345678910TEKANGKSEXSAMBUNGAN111213142EKON
Toni Subagio1234584/85L9Budiman674586/87L6
Purwanto700185/86L0Bambang1212383/84L11Estiyati650184/85P13Amir1221183/84L5
Widodo1211183/84L0
Danang1243284/85L1
Jati720186/87L4
-
OPERASI PADA SENARAI BERANTAI1.Menambah SimpulMenggunakan Deklarasi Pointer
type simpul = ^Data;Data = recordinfo : string;Berikut : Simpul;end;var Elemen: string; Awal, Akhir, Baru : Simpul;
-
ABCDFAwalAkhirBaruABCDFAwalAkhirBaruABCDFAwalAkhirBarua. Menambah di belakang
-
Procedure untuk menambah simpul di belakang :procedure TAMBAH_BELAKANG ( var awal, akhir : simpul;elemen : string);var baru : simpul ;beginnew (baru); baru^.info := elemen ;if awal = nil then senarai masih kosongawal := baruelseakhir^.berikut := baru ;akhir := baru;akhir^.berikut := nilend;
-
ABCDFBaruAkhirABCDFBaruAkhirABCDFBaruAkhirb. Menambah di depanAwalAwalAwal
-
Procedure untuk menambah simpul di depan :procedure TAMBAH_DEPAN ( var awal, akhir : simpul;elemen : string);var baru : simpul ;beginnew (baru); baru^.info := elemen ;if awal = nil then senarai masih kosongakhir := baruelsebaru^.berikut := awal ;awal := baru;end;
-
ABDFAwalAkhirc. Menambah di tengahCBantuBaruABDFAwalAkhirCBantuBaruABDFAwalAkhirCBantuBaru
-
Procedure untuk menambah simpul di tengah :procedure TAMBAH_TENGAH ( var awal, akhir : simpul;elemen : char);var baru, bantu : simpul ;beginnew (baru); baru^.info := elemen ;if awal = nil then senarai masih kosongbeginawal := baru;akhir := baruendelsebegin{ mencari lokasi yg sesuai }bantu := awal;while elemen > baru^.berikut^.info dobantu := bantu^.berikut;{ menyisipkan simpul baru}baru^.berikut := bantu^.berikut ;bantu^.berikut := baru;end;end;
-
2. Menghapus SimpulABCDEAwalBantuAkhirBCDEAwalAkhira. Menghapus simpul pertamaABCDEBantuAwalAkhir
-
ABCDEAwalBantuAkhirABDEAwalAkhirb. Menghapus simpul di tengah / terakhirHapusABCDEAwalBantuAkhirHapus