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
Akan dibuat simpul baru disebelah kanan 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
Posting Komentar