senarai berantai
DESCRIPTION
Senarai Berantai. Adalah salah satu struktur data dinamis yang paling sederhana (linked list) atau juga disebut senarai satu arah ( one way list). DEKLARASI VARIABEL PADA SENARAI BERANTAI :. Type Simpul= ^Tali ; Tali= record Info: char; Berikut: Simpul end; - PowerPoint PPT PresentationTRANSCRIPT
Senarai BerantaiAdalah salah satu struktur data dinamis yang paling sederhana (linked list) atau juga disebut senarai satu arah ( one way list).
Type Simpul = ^Tali ;Tali = record
Info : char;Berikut : Simpul
end;
Var elemen : char ; Awal, Akhir, Baru : Simpul;
DEKLARASI VARIABEL PADA SENARAI BERANTAI :
Gambar contoh senarai berantai dengan 6 simpul
A B C D E F
Awal
Masing – masing komponen dinamakan dengan simpul (node).
Setiap simpul dalam suatu senarai berantai terbagi menjadi dua bagian :1.Medan informasi berisi informasi yang disimpan dan diolah.2.Medan penyambung (linked field) berisi alamat simpul berikutnya.
OPERASI PADA SENARAI BERANTAI
1. MENAMBAH :a. Menambah di belakangb. Menambah di depanc. Menambah di tengah
2. MENGHAPUS :a. Menghapus simpul pertamab. Menghapus simpul di tengahc. Menghapus simpul di akhir
3. MEMBACA :a. Membaca majub. Membaca mundur
4. MENCARI DATA
A B C D F
Akhir Awal Baru
Illustrasi Penambahan Simpul di Belakang
a.
A B C D F
Akhir Awal Baru
Akhir^.Berikut := Baru ;b.
A B C D F
Akhir Awal Baru
Akhir:= Baru ;Akhir^.Berikut := nil
c.
Procedure tambah_belakang(var Awal, akhir : simpul;elemen : char );
Var Baru : simpul ;Begin new(baru); baru^.info:=elemen; akhir^.berikut := baru; akhir:=baru; akhir^.berikut:= nil;End;
Procedure tambah_belakang(var Awal, akhir : simpul;
elemen : char );
Var Baru : simpul ;
Beginnew(Baru);Baru^.Info := Elemen ;
if Awal := nil then
Awal := Baru
else
Akhir^.Berikut := Baru ;
Akhir := Baru;
Akhir^.Berikut := nil ;
End;
B C D F
Akhir Awal Baru
Illustrasi Penambahan Simpul di Awal
a.
Baru^.Berikut := Awal ;b.
A
B C D F
Akhir Awal Baru
A
Awal:= Baru ;c.
B C D F
Akhir Awal Baru
A
Procedure tambah_depan(var Awal, akhir : simpul;elemen : char );
Var Baru : simpul ;Begin
new(Baru);Baru^.Info := Elemen ;if Awal := nil then
Akhir := Baruelse
Baru^.Berikut := Awal;Awal := Baru;
End;
Illustrasi Penambahan Simpul di Tengah
a.
Baru^.Berikut := Bantu^.Berikut;b.
A B
C
D
Akhir Awal
F
Baru
Bantu
A B
C
D
Akhir Awal
F
Baru
Bantu
Bantu^.Berikut := Baru ;b.
A B
C
D
Akhir Awal
F
Baru
Bantu
Procedure tambah_depan(var Awal, akhir : simpul;
elemen : char );Var bantu,Baru : simpul ;Begin new(baru); baru^.info:=elemen; bantu:=awal;
{mencari posisi dimana elemen akan disisipkan}
while baru^.info>bantu^.berikut^.info do bantu:=bantu^.berikut;
baru^.berikut:=bantu^.berikut; bantu^.berikut:=baru;end;
A B C D
Akhir Bantu Awal
Illustrasi Penghapusan Simpul di Pertama
a.
A B C D
Akhir Awal
Awal:= Bantu^.Berikut;b.
Bantu
B C D
Akhir Awal
Dispose(bantu);c.
Illustrasi Penghapusan Simpul di tengah
A B D F
Hapus Awal Bantu
a.
Akhir
C
Bantu:=Awal^.Berikut;Hapus:=Bantu^.Berikut;
A B D F
Hapus Awal Bantu
b.
Akhir
C
Bantu^.Berikut:=Hapus^.Berikut;
A B D F
Awal Bantu
c.
Akhir
Dispose(hapus);
Illustrasi Penghapusan Simpul di akhir
A B D F
Awal Bantu
a.
Akhir
C
Bantu:=Bantu^.Berikut;
A B D F
Awal Bantu
b.
Akhir
C
Akhir:=Bantu;
A B D
Awal Bantu
c.
Akhir
C
Bantu^.Berikut = nil;
F
Illustrasi Pembacaan Maju
A B D F
Awal Bantu
a.
Akhir
C
Bantu:=Bantu^.Berikut;Writeln(Bantu^.Info);
Illustrasi Pembacaan Mundur
A B D F
Awal Bantu
a.
Akhir
C
Bantu:=Bantu^.Berikut;