Gambar diatas merupakan pseudocode untuk menginput
data ke dalam alamat memori ke-n. Misal di dalam sebuah linked list terdapat 5
buah data diantaranya : A, B, C, E, dan F. kemudian akan di masukkan data baru
berupa D yang akann di masukkan ke dalam alamat memorri dengan indeks ke-4.
Data di dalam linked list akan terlihat seperti gambar di bawah ini.
Hal pertama yang akan di jalankan oleh program ini
adalah menentukan nilai dari variable Head, X dan N. variable Head di isi
dengan data yang memiliki pointer prev nya bernilai 0, di dalam gambar diatas,
Head akan di isi dengan A. Sedangkan variable X di isi dengan D, sebagai data
baru. Dan terakhir variable N di isi dengan alamat memori yang akan di tuju, di
dalam contoh ini saya mengisikan N = 4.
Perintah malloc(temp) akan menambahkan alamat memori baru pada linked list, seperti
yang tergambar di dalam table diatas.
Setelah itu data D di masukkan kedalam linked list,
tetapi masih belum memiliki pointer next dan prev, seperti gambar diatas.
Selanjutnya adalah menentukan pointer dari data D,
dengan menggunakan perintah FindK(Head, N-1, P). Program akan memeriksa apakah
ada data yang tersimpan sebelumnya dengan cara mencari pointer dari indeks
sebelumnya dari data D, karena data di letakkan di indeks ke 4, maka program
akan memeriksa pointer di indeks ke 3, yaitu data C. Jika pointer nya tidak di
temukan atau bernilai NULL, maka program akan memberi tahu tentang tidak ada
nya data di dalam lined list dan menghapus alokasi memori dan data D .
Tetapi jika terdapat pointer pada indeks ke 3, program
akan menyimpan alamat memori dari indeks ke 5, yaitu data E sebagai pointer
next dari data D. Kemudian, program menyimpan alamat memori dari data ke 3,
yaitu data C sebagai pointer prev dari data D.
Selanjutnya adalah mengubah pointer next dari data C
dan pointer prev dari data E yang masih
menunjukkan alamat memori yang lama, menjadi alamat memori yang baru yaitu,
alamat memori dengan indeks ke 6, seperti gambar di atas. Sehingga data nya
terlihat seperti gambar di bawah ini.
Tidak ada komentar:
Posting Komentar