LINKED LIST (Linier Doubly Linked List)

Linier Doubly Linked List
  • Pengelolaan memory secara dinamis artinya tidak perlu mengalokasikan memori lebih awal secara tetap (fixed).
  • Satu elemen terdiri dari 2 elemen :
    • a. Elemen yang menyimpan data
    • b. Elemen yang menyimpan alamat record sebelumnya
    • c. Elemen yang menyimpan alamat record sesudahnya
ILUSTRASI SEBUAH SIMPUL
Simpul dengan 3 elemen
Dalam Bahasa C++ untuk menyatakan suatu simpul dengan struktur demikian dapat ditulis sebagai berikut :
Proses yang dapat dilakukan :
  • a. Pembuatan Simpul Awal
  • b. Insert kanan (akhir)
  • c. Delete Kanan
  • d. Insert Tengah
  • e. Insert Kiri
  • f. Delete Kiri
  • g. Delete Tengah

a. Pembuatan Simpul Awal
Contoh sederhana (lengkap) program membuat Simpul awal:

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <ctype.h>

struct SIMPUL { int INFO;
      struct SIMPUL *LEFT,*RIGHT;
     };

struct SIMPUL *P, *FIRST, *LAST;

main( )
{ int X;
   clrscr();
   cout<<"MASUKAN SIMPUL AWAL : "; 
   cin>>X;

   P=(struct SIMPUL*)malloc(sizeof(struct SIMPUL));
   P->INFO=X;
   FIRST=P; 
   LAST=P;
   P->LEFT=NULL;
   P->RIGHT=NULL;

   cout<<" Isi P = "<<P->INFO;
}

Fungsi untuk membuat Simpul Awal
Ilustrasi simpul yang dihasilkan oleh program misal X=25
Ada 3 buah pointer yang LAST, FIRST dan P yang menunjuk data yang sama.

b. Insert Kanan
Dibuat Simpul Awal sebagai berikut :
Akan dibuat simpul baru disebelah kanan sebagai berikut
Fungsi untuk Insert Kanan Sebagai Berikut :


c. Delete Kanan (Akhir)
Sudah ada Double Linked List sebagai berikut :
Akan dihapus simpul yang paling kanan (4) menjadi sebagai berikut:
Pointer LAST akan menunjuk Ke Record Ke 3
Fungsi untuk Delete Kanan Sebagai Berikut :


Komentar

Postingan populer dari blog ini

LINKED LIST (Linier Singly Linked List)

STRUKTUR DATA DAN KATEGORI DATA

Perintah yang Sering Digunakan dalam Terminal di Linux