Linked List adalah sekumpulan elemen bertipe sama yang mempunyai keterurutan
tertentu, yang setiap elemennya terdiri dari dua bagian. Struktur berupa
rangkaian elemen saling berkait dimana setiap elemen dihubungkan elemen lain
melalui pointer (alamat elemen). Penggunaan pointer untuk mengacu elemen
berakibat elemen-elemen bersebelahan secara logik, walau tidak bersebelahan
secara fisik di memori.
typedef struct
telmtlist
{
infotype info;
address next;
}
Infotype : sebuah
tipe terdefinisi yang menyimpan informasi sebuah elemen list.
Next : address
dari elemen berikutnya (suksesor)
Jika L adalah
list, dan P adalah address, maka alamat elemen pertama list L dapat diacu
dengan notasi : first (L)
Sebelum digunakan
harus dideklarasikan terlebih dahulu : #define first (L) (L) Elemen yang diacu
oleh P dapat dikonsultasi informasinya dengan notasi : info (P) deklarasi
#define info (P) (P) - info
Next (P) deklarasi
#define next (P) (P) - next Beberapa definisi :
- List 1 adalah kosong,
jika First(L)=Nil.
- Elemen terakhir dikenali,
dengan salah satu cara adalah karena Next(Last)=Nil. Nil adalah pengganti
Null, perubahan ini dituliskan dengan #define Nil Null.
Single Linked List
Setiap node
memiliki pointer yang menunjuk ke simpul berikutnya sehingga terbentuk satu
untaian, dengan demikian hanya diperlukan sebuah variable pointer. Susunan
berupa untaian semacam ini disebut Single Linked List (NULL memiliki nilai
khusus yang artinya tidak menunjuk ke mana-mana, biasanya Linked List pada
titik akhirnya akan menunjuk ke NULL).
Pembuatan Single
Linked List dapat menggunakan 2 metode :
- LIFO (Last In First Out),
aplikasinya: Stack (tumpukan)
- FIFO (First In First
Out), aplikasinya: Queue (antrian)
Double Linked List
Salah satu
kelemahan Single Linked List adalah pointer hanya dapat bergerak satu arah
saja, maju/mundur, kanan/kiri, sehingga pencarian data pada Single Linked List
hanya dapat bergerak dalam satu arah saja. Untuk mengatasi kelemahan tersebut,
dapat menggunakan metode Double Linked List. Linked List ini dikenal dengan
nama Linked List berpointer ganda atau Double Linked List.
Circular Double Linked List
Circular double
linked list Merupakan Double Linked List yang simpul terakhirnya menunjuk ke
simpul terakhirnya menunjuk ke simpul awalnya menunjuk ke simpul akhir,
sehingga membentuk suatu lingkaran.
No comments:
Post a Comment