LINKED LIST (Linier Singly Linked List)

Linier Singly Linked List
  •  Pengelolaan memory secara dinamis artinya tidak perlu mengalokasikan memori lebih awal secara tetap (fixed).
  •  Satu elemen terdiri dari 2 elemen :
    • Elemen yang menyimpan data
    • Elemen yang menyimpan alamat record
linked list
Keterangan dari ilustrasi Linked List diatas :
  • Ada 4 Simpul : simpul 1 s/d simpul 4
  •  Setiap simpul(record) terdiri 2 elemen yaitu :
    • Field INFO misal bertipe Integer
    • Field LINK bertipe Pointer
  • Contoh simpul no. 1
    • Field INFO berisi nilai 25
    • Field LINK berisi alamat record no. 2
  • Simpul No. 3
    • Field INFO berisi nilai 17
    • Field LINK berisi alamat record no. 4
  • FIRST dan LAST adalah pointer
Proses yang dapat dilakukan :
  1. Pembuatan Simpul Awal
  2. Insert kanan (akhir)
  3. Delete Kanan
  4. Insert Tengah
  5. Insert Kiri
  6. Delete Kiri
  7. Delete Tengah
Ilustrasi Sebuah Simpul (Record)
Dalam bahasa C/C++ untuk memberitahukan komputer bahwa kita memerlukan suatu simpul atau record dengan tipe struktur diatas perlu ditulis instruksi-instruksi sebagai berikut:
disiapkan 3 buah pointer yaitu P, FIRST, LAST yang semuanya terkait dengan simpul atau
record .

a. Pembuatan Simpul Awal
Instruksi untuk membuat sebuah simpul (record) baru adalah :
Malloc : Maksudnya mengalokasikan memory Sebesar atau seukuran (sizeof) yang diperlukan untuk simpul.

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 *LINK;
    };
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;
  P->LINK=NULL;
  cout<<" ANGKA YANG DIMASUKKAN = "<<P->INFO<<endl;
  getch();
}


Perhatikan kembali Linier Singly Lingked List


Fungsi untuk membuat simpul(Record) AWAL

b. INSERT KANAN (INSERT AKHIR)
sudah dibuat Simpul awal sebagai berikut :

akan diinsert disebelah kanan seperti berikut :
Fungsi untuk Insert Kanan sebagai berikut :

c. DELETE KANAN
Misal sudah ada Linked List sebagai berikut:

Fungsi untuk Delete Kanan sebagai berikut :

====

Komentar

Postingan populer dari blog ini

STRUKTUR DATA DAN KATEGORI DATA

Perintah yang Sering Digunakan dalam Terminal di Linux