Ketika kita belajar tentang pemrograman. Kami belajar tentang penyimpanan data menggunakan struktur data. Salah satu struktur data mendasar adalah array (atau daftar).

[ ]

[0,1,2,3,4,5]

Ini adalah pemegang untuk menyimpan data secara linier. Menyimpan data seperti itu dalam array sangatlah mudah. Anda hanya memerlukan ruang memori untuk data tersebut dan Anda menetapkan ruang memori berurutan untuk data berikutnya. Anda dapat menganggap data sebagai orang dan ruang memori array sebagai kursi dalam satu file. Setiap kursi diindeks (misalnya 1,2,3…)

Agar pengguna dapat memilih data apa pun dalam daftar, program dapat mengakses data tersebut dengan lebih efektif, hal ini karena program mengetahui bahwa data tersebut disimpan dalam alamat memori berurutan. Kemampuan untuk menetapkan data secara acak dari suatu daftar disebut akses acak. Namun, jika data dalam daftar bertambah terlalu besar, PL harus mencari ruang memori yang lebih besar untuk menetapkan daftar tersebut. Alias, mencari ruang yang cukup besar untuk meletakkan kursi dalam satu file.

Untuk menghilangkan masalah ini, kami menggunakan daftar tertaut untuk menghilangkan pembatasan penyimpanan data dalam alamat memori berurutan. Namun, sekarang data tersebut tidak lagi disimpan di alamat memori berurutan, kita harus menghubungkan data tersebut menggunakan pointer. Seperti namanya, pointer memiliki arah dan digunakan sebagai acuan program untuk mendeteksi data selanjutnya dari lokasinya saat ini. Data pertama disebut node kepala dan terdeteksi ketika data Tidak Ada mengarah ke sana sehingga kita memiliki referensi untuk memulai.

Kembali ke analogi kursi dan orang, sekarang kursi bisa diletakkan dimana saja di dalam ruangan, setiap orang hanya perlu mengetahui lokasi orang berikutnya dengan menunjuk ke arahnya (pointer). Orang pertama akan ditunjuk oleh seseorang, kita bisa memanggilnya Tuan None. Dalam pemrograman, kita perlu membuat ruang tambahan untuk penunjuk dan akses ke data acak apa pun dalam daftar tertaut harus selalu dimulai dari orang pertama. Jadi penerapan daftar tertaut sedikit lebih maju daripada daftar sederhana tetapi juga memungkinkan alokasi memori yang lebih baik.

Alokasi memori berbeda dengan penyimpanan memori. Array membutuhkan lebih sedikit penyimpanan memori tetapi memiliki alokasi memori yang tidak fleksibel karena data perlu disimpan dalam alamat memori berurutan. Daftar tertaut memerlukan penyimpanan memori yang lebih besar, karena adanya penunjuk tambahan untuk setiap data tetapi memiliki alokasi memori yang fleksibel karena data sekarang dapat disimpan di mana saja dalam ruang memori, selama ada penunjuk yang merujuk pada lokasi data.