Minggu, 29 April 2018

Tentang Linked List

Tentang Linked List

Pengertian

Linked list merupakan 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.

Jenis-jenis linked list

a. Single Linked List
Single Linked List merupakan suatu linked list yang hanya memiliki satu varuabel pointer saja. Dimana pointer tersebut menunjuk ke node selanjutnya.Biasanya field pada tail menunjuk ke NULL.
Jenis operasi yang didalamnya :
- IsEmpty
Fungsi memeriksa apakah singly yang ada masih kosong.

- Push
Fungsi memasukkan elemen baru ke dalam singly. Push di sini mirip dengan insert dalam single linked list biasa.

- Pop
Fungsi ini mengeluarkan elemen teratas dari singly.

- Clear

Fungsi ini akan menghapus singly yang ada.

Contoh Codingannya :
 struct Mahasiswa{
  char nama[25];
  int usia;
  struct Mahasiswa *next;
}*head,*tail;

b. Double Linked List
Double Linked List Merupakan suatau linked list yang memiliki dua variabel pointer yaitu pointer yang menunjuk ke node selanjutnya dan pointer yang menunuk ke node sebelumnya. Setiap head dan tailnya juga menunjuk ke  NULL.
Jenis operasi yang didalamnya :
- IsEmpty
Fungsi IsEmpty berguna untuk mengecek apakah queue masih kosong atau sudah berisi data. Hal ini dilakukan dengan mengecek apakah head masih menunjukkan pada Null atau tidak. Jika benar berarti queue masih kosong.

- IsFull
Fungsi IsFull berguna untuk mengecek apakah queue sudah penuh atau masih bisa menampung data dengan cara mengecek apakah Jumlah Queue sudah sama dengan MAX_QUEUE atau belum. Jika benar maka queue sudah penuh.

- EnQueue
Fungsi EnQueue berguna untuk memasukkan sebuah elemen ke dalam queue (head dan tail mula-mula meunjukkan ke NULL).

- DeQueue

Procedure DeQueue berguna untuk mengambil sebuah elemen dari queue. Hal ini dilakukan dengan cara menghapus satu simpul yang terletak paling depan (head).

Contoh Codingannya:
Struct Mahasiswa{
 char nama[25];
 int usia;
 struct Mahasiswa *next,*prev;
}*head,*tail;

c. Circular Linked List
Circular Linked List merupakan suatu linked list dimana tail (node terakhir) menunjuk ke head(node pertama).Jadi tidak ada pointer yang menunjuk NULL ada 2 jenis Circular Linked.

Circular Single Linked List


Circular Double Linked List
Referensi :
http://mayorpelangi.blogspot.co.id/2011/04/linked-list.html
http://t-edukasi.blogspot.co.id/2018/01/materi-dan-pengertian-linked-list-atau.html