Procedure Sisip_Tengah (Input elemen :
tipe_data, I/O awal, akhir : nama_pointer)
{I.S : data
yang akan disisipkan (elemen), pointer petunjuk awal dan akhir sudah
terdefinisi }
{F.S :
menghasilkan satu simpul yang disisipkan di tengah pada single linked list }
Kamus
Baru, bantu : nama_pointer
Ketemu : boolean
Datasisip : tipe_data
Algoritma
If (awal = nil) then
Alloc(baru)
baru↑.info
ß elemen
baru↑.next
ß nil
awal
ß baru
akhir
ß baru
else
input(datasisip)
bantu
ß awal
ketemu
ß false
when (not ketemu) and
(awal ≠ nil) do
if (datasisip =
bantu↑.info) then
ketemu ß false
else
bantu ß bantu↑.next
endif
endwhile
if
(ketemu) then
alloc(baru)
baru↑.infoßelemen
if
(bantu = akhir)
sisip_belakang(elemen,
awal, akhir)
else
baru↑.next ß
bantu↑.next
bantu↑.next
ß baru
else
output(“data yang
disisipkan tidak ditemukan”)
endif
endif
endprocedure
Komentar