Tutorial Cryptohero Lengkap Bahasa Indonesia | Cryptocurrency Indonesia

sisip_tengah


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