Linked List Pembuatan Simpul Awal
Pembuatan Simpul Awal
Linked List yang dibahas dalam buku
LINEAR SINGLY LINKED LIST II. LINEAR DOUBLY LINKED LIST CIRCULAR SINGLY LINKED LIST III. IV. CIRCULAR DOUBLY LINKED LIST
LINEAR SINGLY LINKED LIST FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 II. LINEAR DOUBLY LINKED LIST FIRST LAST INFO RIGHT RIGHT LEFT LEFT INFO RIGHT RIGHT LEFT INFO LEFT INFO 25 12 17 10
CIRCULAR SINGLY LINKED LIST III. CIRCULAR SINGLY LINKED LIST FIRST LAST LINK LINK LINK LINK INFO INFO INFO INFO 25 12 17 10 IV. CIRCULAR DOUBLY LINKED LIST FIRST LAST LEFT RIGHT INFO LEFT RIGHT INFO LEFT RIGHT LEFT RIGHT INFO INFO 25 12 17 10
1. LINEAR SINGLY LINKED LIST DENGAN POINTER TUNGGAL LINKED LIST LURUS DENGAN POINTER TUNGGAL
LINEAR SINGLY LINKED LIST 1.1. ILUSTRASI FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 (1) (2) (3) (4) atau LAST FIRST INFO LINK INFO LINK INFO LINK INFO LINK 10 17 12 25 (4) (3) (2) (1)
Urutan insert Urutan delete atau Urutan insert Urutan delete (1) (2) FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 Urutan insert (1) (2) (3) (4) Urutan delete (1) (2) (3) (4) atau LAST FIRST INFO LINK INFO LINK INFO LINK INFO LINK 10 17 12 25 Urutan insert (4) (3) (2) (1) Urutan delete (1) (2) (3) (4)
INSERT : Masuk, Simpan, Tulis DELETE : Keluar, Ambil, Baca atau Hapus
Mana yang mengikuti prinsip STACK, dan FIRST LAST Ilustrasi-1 INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 Urutan insert (1) (2) (3) (4) Urutan delete (1) (2) (3) (4) LAST FIRST INFO LINK INFO LINK INFO LINK INFO LINK Ilustrasi-2 10 17 12 25 Urutan insert (4) (3) (2) (1) Urutan delete (1) (2) (3) (4) Pertanyaan : Mana yang mengikuti prinsip STACK, dan mana yang mengikuti prinsip QUEUE, Linked List ilustrasi-1 atau Linked List ilustrasi-2
Linked List yang akan diterangkan
Untuk selanjutnya Linked List yang akan diterangkan adalah Linked List yang diilustrasikan sebagai berikut : 25 FIRST INFO LINK 12 17 10 LAST (1) (2) (3) (4)
Keterangan : Dari ilustrasi diatas, dapat diterangkan sebagai berikut: 25 FIRST INFO LINK 12 17 10 LAST (1) (2) (3) (4) Keterangan : Dari ilustrasi diatas, dapat diterangkan sebagai berikut: Ada 4 simpul, simpul no (1) sampai dengan no (4) Setiap simpul (record) terdiri dari dua elemen (field) yaitu : Field INFO misal bertipe integer. Field LINK bertipe pointer Yang diilustrasikan dengan panah Untuk simpul no (1), Field INFO berisi nilai 25 Field LINK berisi alamat simpul no (2)
Untuk Linked List yang akan dipelajari : 25 FIRST INFO LINK 12 17 10 LAST (1) (2) (3) (4) Untuk Linked List yang akan dipelajari : Simpul pertama no (1) berada diujung paling kiri, dan ditunjuk oleh pointer FIRST. Simpul terakhir no (4) berada diujung paling kanan,dan ditunjuk oleh pointer LAST. LINK dari simpul terakhir diisi dengan NULL.
Pembuatan Record Awal (inisialisasi) Insert Kanan (Insert Akhir) 1.2 PROSES 2a. 2b. 2c. 2d. 2e. 2f. 2g. Pembuatan Record Awal (inisialisasi) Insert Kanan (Insert Akhir) Insert Kiri (Insert Awal) Insert Tengah Delete Kanan Delete Kiri Delete Tengah
Ilustrasi sebuah Simpul (Vertex, atau Node, atau Record) INFO LINK Simpul dengan 2 elemen atau field Nama field Tipe Isi : LINK : pointer : akan diisi dengan alamat record berikutnya Nama field Tipe Isi : INFO : integer : akan diisi data Tipe data tentunya disesuaikan dengan keperluan. Disini diambil saja contoh yang sederhana dimana data yang akan disimpan adalah bernilai integer.
typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; Struktur sebuah Simpul INFO LINK Untuk ‘memberitahukan komputer ‘ bahwa kita memerlukan suatu Simpul atau record dengan tipe strukur demikian ini, perlu ditulis intruksi-instruksi sebagai berikut : typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST;
typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; Masih banyak cara penulisan lain untuk maksud yang sama. Disini diambil suatu cara yang dianggap paling sederhana. Disiapkan 3 buah variabel pointer, yaitu : P, FIRST dan LAST yang kesemuanya berkaitan dengan simpul atau record atau node yang bertipe Simpul
Simpul typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; Disini : Simpul Adalah nama tipe sebagaimana nama tipe yang telah disediakan oleh Bahasa C seperti : int, long int, float, dan sebagainya. Bila int adalah nama tipe suatu variable, maka Simpul disini adalah nama tipe dari suatu structure atau record, dimana structure tersebut terdiri dari dua field, yaitu : INFO yang bertipe integer (int), dan LINK yang bertipe pointer (pakai *) untuk structure tersebut.
Pembuatan Sebuah Simpul ( Baru ) Perhatikan kembali instruksi untuk menyiapkan tipe (struktur) sebuah simpul sebagai berikut : typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST;
Pembuatan Simpul ( Baru ) Instruksi untuk membuat sebuah record baru : P = (Simpul *) malloc(sizeof(Simpul)); Terbentuk sebuah simpul yang alamatnya disimpan dalam pointer P atau disebut : “simpul yang ditunjuk oleh pointer P” yang dapat diilustrasikan sebagai berikut : P P Atau cukup digambar sabagai berikut : INFO LINK INFO LINK
P = (Simpul *) malloc(sizeof(Simpul)); Maksudnya : memory allocation yaitu mengalokasikan memory sebesar atau seukuran (sizeof) yang diperlukan untuk Simpul
P = (Simpul *) malloc(sizeof(Simpul)); INFO LINK H21C8 21C8 Alamat simpul dicatat dalam variabel P (P bertipe Pointer untuk menunjuk Simpul) P
P H21C8 21C8 P Ilustrasi fisik dalam memory diatas, INFO LINK H21C8 21C8 P Ilustrasi fisik dalam memory diatas, dapat digambarkan dengan ilustrasi diagram sebagai berikut : P INFO LINK
#include <stdio.h> #include <stdlib.h> Contoh (sederhana) program selengkapnya untuk membuat sebuah record atau simpul yang alamat simpul tersebut dicatat dalam pointer P. #include <stdio.h> #include <stdlib.h> #include <ctype.h> typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; void main() { int X; scanf(“%i”, &X); p = (Simpul *)alloc(sizeof(Simpul)); P->INFO = X; P->LINK = NULL; }
P 25 void main() { int X; scanf(“%i”, &X); p = (Simpul *)alloc(sizeof(Simpul)); P->INFO = X; P->LINK = NULL; } Nilai X (misal 25 hasil input sebelumnya) disimpan dalam elemen INFO Field LINK berisi NULL artinya pointer LINK tidak menunjuk kesuatu alamat tertentu P Terbentuk sebuah simpul yang alamatnya disimpan dalam pointer P atau disebut simpul yang ditunjuk oleh pointer P INFO LINK 25
P P->INFO = X; P->INFO 25 maksudnya : Field INFO suatu simpul, p = (Simpul *)alloc(sizeof(Simpul)); P->INFO = X; P->LINK = NULL; P->INFO = X; P->INFO maksudnya : Field INFO suatu simpul, yang simpulnya sedang ditunjuk oleh pointer P dalam bahasa C, ditulis dengan dua karakter yaitu tanda - (minus) dan tanda > (tanda lebih besar) P INFO LINK 25
P P->LINK 25 P->LINK = NULL; p = (Simpul *)alloc(sizeof(Simpul)); P->INFO = X; P->LINK = NULL; P->LINK = NULL; P->LINK field LINK suatu simpul, yang simpulnya sedang ditunjuk oleh pointer P P INFO LINK 25 \0 0 0 0 0 0 0 0 0 karakter NULL nilai ASCIInya = 0 (nol)
P P 25 25 \0 Nilai pointer yang berisi NULL INFO LINK 25 \0 Nilai pointer yang berisi NULL sering diilustrasikan sebagai panah ‘ground’ sebagai berikut : P INFO LINK 25
Perhatikan kembali LINEAR SINGLY LINKED LIST yang akan dibuat sebagai yang diilustrasikan berikut ini : 25 FIRST INFO LINK 12 17 10 LAST (1) (2) (3) (4)
Pembuatan Simpul Awal. Simpul awal, maksudnya adalah simpul yang pertama kali dibuat. Setelah itu simpul baru dapat ditambahkan baik disebelah kanan, maupun disebelah kiri simpul simpul yang sudah ada. 25 FIRST INFO LINK 12 17 10 LAST (1) (2) (3) (4) Misal, (untuk mudahnya) : Simpul ini yang kita ambil sebagai contoh untuk simpul awal yang ditunjuk oleh pointer FIRST
typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; int X; Perhatikan kembali struktur sebuah simpul, dan variabel-variabel yang diperlukan typedef struct Node { int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; int X; Menyatakan struktur Simpul dan menyiapkan variabel Dalam memory Perhatikan : Ada 3 buah pointer : P , FIRST, dan LAST P FIRST LAST X
Pembuatan Simpul Awal. Fungsi untuk membuat simpul awal void Awal (void) { int X; scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->LINK = NULL; } 1) 2) 3) 4) 5) Ada 5 intruksi pokok
ilustrasi Langkah per Langkah
typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; void main() int INFO; struct Node *LINK; }; typedef struct Node Simpul; Simpul *P, *FIRST, *LAST; void main() { int X; Menyiapkan 3 Pointer : P FIRST dan LAST dan debuah variabel X P FIRST LAST X
simpul belum ada P FIRST LAST X semua Pointer sudah disiapkan
scanf("%i", &X); input data dari keyboard P X 25 scanf(“%i”, &X); FIRST LAST X 25 scanf(“%i”, &X); input data dari keyboard
P=(Simpul*)malloc(sizeof(Simpul)); INFO LINK H1000 P FIRST LAST X 1000 25 membuat sebuah scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); simpul
simpul ditunjuk oleh pointer P P variabel yang dinyatakan dengan kotak Penggambaran ilustrasi dalam memory : P INFO LINK Penggambaran ilustrasi INFO LINK H1000 diatas kertas Simpul ditunjuk oleh Pointer P P FIRST LAST X Disederhanakan menjadi 1000 25 P scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); INFO LINK simpul ditunjuk oleh pointer P
P=(Simpul*)malloc(sizeof(Simpul)); INFO LINK INFO LINK H1000 P FIRST LAST X 1000 25 scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); Kotak untuk variabel Pointer P dibuang
P Sebuah simpul yang ditunjuk oleh pointer P ( alamatnya dicatat dalam pointer P ) P P INFO INFO LINK LINK P INFO LINK P INFO LINK INFO LINK P P Banyak cara menggambarkan ilustrasi pointer P menunjuk sebuah simpul INFO LINK INFO LINK P
nama field P X 1000 25 scanf(“%i”, &X); INFO LINK P INFO LINK H1000 P FIRST LAST X 1000 25 P->LINK scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO
mengisi P->INFO dengan nilai X P->INFO = X; P INFO LINK 25 INFO LINK 25 H1000 P FIRST LAST X 1000 25 P->LINK scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; P->INFO mengisi P->INFO dengan nilai X
printf(“%i”,P->INFO); LINK 25 INFO LINK 25 H1000 P FIRST LAST X 1000 25 P->LINK P->INFO printf(“%i”,P->INFO); Tercetak : 25
Simpul pertama selalu ditunjuk Oleh pointer FIRST 25 FIRST INFO LINK 12 17 10 LAST (1) (2) (3) (4) Simpul pertama selalu ditunjuk Oleh pointer FIRST
P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; LINK 25 INFO LINK 25 H1000 P FIRST LAST X 1000 25 P->LINK scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; P->INFO
Pointer FIRST ikut menunjuk Simpul yang ditujuk oleh P FIRST = P; P INFO LINK 25 INFO LINK 25 H1000 P FIRST LAST X 1000 1000 25 P->LINK scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; P->INFO Pointer FIRST ikut menunjuk Simpul yang ditujuk oleh P
nama field 25 25 P X 1000 1000 25 scanf(“%i”, &X); FIRST P INFO LINK 25 INFO LINK 25 H1000 P FIRST LAST X 1000 1000 25 P->LINK atau FIRST->LINK scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; P->INFO atau FIRST->INFO
printf(“%i”, P->INFO); FIRST P INFO LINK 25 INFO LINK 25 H1000 P FIRST LAST X 1000 1000 25 P->LINK atau FIRST->LINK printf(“%i”, P->INFO); Tercetak : 25 P->INFO atau FIRST->INFO printf(“%i”, FIRST->INFO); Tercetak : 25
P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LINK 25 INFO LINK 25 H1000 P FIRST LAST X 1000 1000 25 P->LINK atau FIRST->LINK scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; P->INFO atau FIRST->INFO
Simpul terakhir selalu ditunjuk oleh pointer LAST 25 FIRST INFO LINK 12 17 10 LAST (1) (2) (3) (4) Simpul terakhir selalu ditunjuk oleh pointer LAST
P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LINK 25 INFO LINK 25 H1000 P FIRST LAST X 1000 1000 25 P->LINK atau FIRST->LINK scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; P->INFO atau FIRST->INFO
Pointer LAST ikut menunjuk Simpul yang ditujuk oleh P LAST = P; FIRST P INFO LINK 25 INFO LINK 25 H1000 P FIRST LAST X 1000 1000 1000 25 P->LINK atau FIRST->LINK scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->INFO atau FIRST->INFO Pointer LAST ikut menunjuk Simpul yang ditujuk oleh P
nama field 25 25 P X 1000 1000 1000 25 scanf(“%i”, &X); LAST FIRST nama field P INFO LINK 25 INFO LINK 25 H1000 P FIRST LAST X P->LINK atau FIRST->LINK LAST->LINK 1000 1000 1000 25 scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->INFO atau FIRST->INFO LAST->INFO
LINK Simpul terakhir selalu berisi NULL FIRST LAST LINK LINK INFO LINK LINK INFO INFO INFO 25 12 17 10 (1) (2) (4) (3) LINK Simpul terakhir selalu berisi NULL
P->LINK = NULL; 25 \0 25 P X 1000 1000 1000 25 scanf(“%i”, &X); LAST P->LINK = NULL; FIRST P INFO LINK 25 \0 INFO LINK 25 H1000 P FIRST LAST X 1000 1000 1000 25 scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; FIRST = P; LAST = P; P->LINK = NULL;
25 P P->LINK FIRST->LINK LAST->LINK P->INFO atau Field ini namanya : P->LINK atau FIRST->LINK LAST->LINK Field ini namanya : P->INFO atau FIRST->INFO LAST->INFO
Latihan di Kelas
Instruksi untuk mengisi dengan nilai yang ada di X P INFO LINK INFO LINK H1000 P FIRST LAST X 1000 25 ? Instruksi untuk mengisi field yang berwarna kuning dengan nilai yang ada di X
Instruksi untuk mengisi dengan nilai yang ada di X P INFO LINK INFO LINK H1000 P FIRST LAST X 1000 25 ? Instruksi untuk mengisi field yang berwarna kuning dengan nilai yang ada di X
Instruksi untuk mengisi dengan nilai yang ada di X P INFO LINK INFO LINK 25 25 H1000 P FIRST LAST X 1000 25 ? Instruksi untuk mengisi field yang berwarna kuning dengan nilai yang ada di X
P->INFO = ...; P X 1000 1000 25 P INFO LINK INFO LINK FIRST LAST H1000 P FIRST LAST X 1000 1000 25 P->INFO = ...;
25 25 P->INFO = ...; P X 1000 1000 25 P INFO LINK INFO LINK FIRST H1000 P FIRST LAST X 1000 1000 25 P->INFO = ...;
25 25 P->INFO = X; ! P X 1000 1000 25 P INFO LINK INFO LINK FIRST H1000 P FIRST LAST X 1000 1000 25 P->INFO = X; !
Pointer FIRST ikut menunjuk simpul yang ditunjuk oleh Pointer P INFO LINK INFO LINK 25 25 H1000 P FIRST LAST X 1000 25 ? instruksi agar Pointer FIRST ikut menunjuk simpul yang ditunjuk oleh Pointer P
Pointer FIRST ikut menunjuk simpul yang ditunjuk oleh Pointer P INFO LINK INFO LINK 25 25 H1000 P FIRST LAST X 1000 1000 25 ? instruksi agar Pointer FIRST ikut menunjuk simpul yang ditunjuk oleh Pointer P
P INFO LINK INFO LINK 25 25 H1000 P FIRST LAST X 1000 25
FIRST P INFO LINK INFO LINK 25 25 H1000 P FIRST LAST X 1000 1000 25
25 25 FIRST = .......; P X 1000 25 P INFO LINK INFO LINK FIRST LAST H1000 P FIRST LAST X 1000 25 FIRST = .......;
25 25 FIRST = .......; P X 1000 1000 25 FIRST P INFO LINK INFO LINK H1000 P FIRST LAST X 1000 1000 25 FIRST = .......;
25 25 FIRST = P; ! P X 1000 1000 25 FIRST P INFO LINK INFO LINK FIRST H1000 P FIRST LAST X 1000 1000 25 FIRST = P; !
Pointer LAST ikut menunjuk simpul yang ditunjuk oleh Pointer P FIRST P INFO LINK INFO LINK 25 25 H1000 P FIRST LAST X 1000 1000 25 ? instruksi agar Pointer LAST ikut menunjuk simpul yang ditunjuk oleh Pointer P
Pointer LAST ikut menunjuk simpul yang ditunjuk oleh Pointer P FIRST P INFO LINK INFO LINK 25 25 H1000 P FIRST LAST X 1000 1000 1000 25 ? instruksi agar Pointer LAST ikut menunjuk simpul yang ditunjuk oleh Pointer P
FIRST P INFO LINK INFO LINK 25 25 H1000 P FIRST LAST X 1000 1000 25
25 25 P X 1000 1000 1000 25 LAST FIRST P INFO LINK INFO LINK FIRST H1000 P FIRST LAST X 1000 1000 1000 25
25 25 LAST = .......; P X 1000 1000 1000 25 LAST FIRST P INFO LINK H1000 P FIRST LAST X 1000 1000 1000 25 LAST = .......;
25 25 LAST = P; ! P X 1000 1000 1000 25 LAST FIRST P INFO LINK INFO H1000 P FIRST LAST X 1000 1000 1000 25 LAST = P; !
25 25 ? instruksi agar biru Field yang berwarna diisi dengan NULL LAST FIRST P INFO LINK INFO LINK 25 25 H1000 P FIRST LAST X 1000 1000 1000 25 ? instruksi agar biru Field yang berwarna diisi dengan NULL
25 25 ? instruksi agar biru Field yang berwarna diisi dengan NULL LAST FIRST P INFO LINK NULL INFO LINK 25 25 H1000 P FIRST LAST X 1000 1000 1000 25 ? instruksi agar biru Field yang berwarna diisi dengan NULL
25 25 ? instruksi agar biru Field yang berwarna diisi dengan NULL LAST FIRST P INFO LINK \0 INFO LINK 25 25 H1000 P FIRST LAST X 1000 1000 1000 25 ? instruksi agar biru Field yang berwarna diisi dengan NULL
FIRST->LINK = NULL; LAST FIRST P INFO LINK \0 INFO LINK 25 25 H1000 P FIRST LAST X 1000 1000 1000 25 P->LINK = NULL; atau : FIRST->LINK = NULL; atau : LAST->LINK = NULL;
ingat pelajaran sebelumnya LAST FIRST pelajaran P sebelumnya INFO LINK Tentang nama pointer untuk field LINK 25 Field ini namanya : P->LINK atau FIRST->LINK LAST->LINK ada 3 Field ini namanya : P->INFO atau FIRST->INFO LAST->INFO ada 3
P 25 Ada berapa buah simpul yang terlihat Pertanyaan : LAST FIRST INFO LINK 25 Ada berapa buah simpul yang terlihat Pertanyaan :
LAST FIRST P INFO LINK 25 Jawab : Ada 1 buah simpul
P 25 Ada berapa buah pointer yang terlihat Pertanyaan : LAST FIRST P INFO LINK 25 Ada berapa buah pointer yang terlihat - Apa nama masing-masing pointer - Apa isi masing-masing pointer Pertanyaan :
P Jawab : Ada 4 buah pointer 25 LAST FIRST INFO LINK 1 2 3 4 1 2 3 4 No Nama Isi Pointer Pointer pointer
P Jawab : Ada 4 buah pointer 25 LAST FIRST INFO LINK P &(1) 1 2 3 4 1 No Nama Isi Pointer Pointer pointer P &(1) Maksudnya alamat simpul (1)
P Jawab : Ada 4 buah pointer 25 INFO LINK FIRST LAST P &(1) FIRST &(1) 3 4 Jawab : Ada 4 buah pointer 1 2 3 4 No Nama Isi Pointer Pointer pointer P &(1) FIRST &(1)
P Jawab : Ada 4 buah pointer 25 INFO LINK FIRST LAST P &(1) FIRST &(1) 3 4 Jawab : Ada 4 buah pointer 1 2 3 4 No Nama Isi Pointer Pointer pointer P &(1) FIRST &(1) LAST &(1)
P Jawab : Ada 4 buah pointer 25 INFO LINK FIRST LAST P &(1) FIRST &(1) 3 4 Jawab : Ada 4 buah pointer 1 2 3 4 No Nama Isi Pointer Pointer pointer P &(1) FIRST &(1) LAST &(1) P->LINK, atau NULL FIRST->LINK, atau LAST->LINK
P Jawab : Ada 4 buah pointer 25 if( P == FIRST ) if( FIRST == LAST ) INFO P LINK FIRST LAST 1 2 3 4 Jawab : Ada 4 buah pointer TRUE atau FALSE Condition berikut ini : if( P == FIRST ) if( FIRST == LAST ) if( FIRST->LINK == LAST->LINK ) if( FIRST->INFO == 25 )
Bersambung ke : Insert Kanan