LINKED LIST
Struktur berupa rangkian elemen yang saling berkait dimana setiap elemen dihubungkan elemen lain melalui pointer (alamat elemen).
Bentuk umum :
typedef struct telmtlist
{
infotype info;
address next:
}elmlist;
infotype : sebuah tipe terdefinisi yang menyimpan informasi sebuah elemen list.
next : address dari elemen berikutnya.
Macam-macam linked list:
- Single Linked List
- Double Linked List
- Circular Linked List
- Multiple Linked List
Single Linked List
Single Linked List merupakan suatu linked list yang hanya memiliki satu variabel pointer saja. Dimana pointer tersebut menunjuk ke node selanjutnya. Biasanya field pada tail menunjuk ke NULL.
contoh :
Pembuatan Single Linked List dapat menggunakan 2 metode:
- LIFO (Last In First Out) aplikasi nya Stack
- FIFO (First in First Out) aplikasi nya Queue
Double Linked List
Double Linked List merupakan suatu linked list yang memiliki dua variabel pointer yaitu pointer yang menunjuk ke node selanjutnya dan pointer yang menunjuk ke node sebelumnya. Setiap head dan tailnya juga menunjuk ke NULL.
Kelemahan Single Linked List yaitu pointer hanya bergerak satu arah saja maju, mundur, kiri, kanan. Sehingga pencarian data pada Single Linked List hanya dapat bergerak dalam satu arah saja.
Circular Linked List
Merupakan Linked List yang simpul terakhirnya menunjuk ke simpul terakhirnya menunjuk ke simpul awalnya menunjuk ke simpul akhir, sehingga membentuk suatu lingkaran.
Ada 2 jenis Circular Linked List:
- Circular Double Linked List
- Circular Single Linked List
Perbedaan Linked List dan Array
Operasi-Operasi pada Linked List
Insert
Istilah Insert berarti menambahkan sebuah simpul baru ke dalamsuatu linked list.IsEmpty
Fungsi ini menentukan apakah linked list kosong atau tidak.Find First
Fungsi ini mencari elemen pertama dari linked listFind Next
Fungsi ini mencari elemen sesudah elemen yang ditunjuk nowRetrieve
Fungsi ini mengambil elemen yang ditunjuk oleh now. Elementersebut lalu dikembalikan oleh fungsi.
Istilah Insert berarti menambahkan sebuah simpul baru ke dalamsuatu linked list.IsEmpty
Fungsi ini menentukan apakah linked list kosong atau tidak.Find First
Fungsi ini mencari elemen pertama dari linked listFind Next
Fungsi ini mencari elemen sesudah elemen yang ditunjuk nowRetrieve
Fungsi ini mengambil elemen yang ditunjuk oleh now. Elementersebut lalu dikembalikan oleh fungsi.
•Update
Fungsi ini mengubah elemen yang ditunjuk oleh now dengan isidari sesuatu
Delete Now
Fungsi ini menghapus elemen yang ditunjuk oleh now. Jika yangdihapus
adalah elemen pertama dari linked list (head), head akanberpindah ke
elemen berikut.
Delete Head
Fungsi ini menghapus elemen yang ditunjuk head. Headberpindah ke elemen
sesudahnya.
Clear
Fungsi ini menghapus linked list yang sudah ada. Fungsi ini wajibdilakukan
bila anda ingin mengakhiri program yang menggunakan linked list. Jika anda
melakukannya, data-data yang dialokasikan ke memori padaprogram
sebelumnya akan tetap tertinggal di dalam memori.
Komentar
Posting Komentar