Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Linear Doubly INSERT KIRI
Linked List INSERT KIRI 6.3 & 7.3 NESTED LOOP
2
Menambah simpul baru diujung paling kiri Linked List yang sudah ada
3.08 INSERT KIRI Menambah simpul baru diujung paling kiri Linked List yang sudah ada Disebut juga INSERT AWAL
3
3.08 LAST FIRST INFO RIGHT RIGHT LEFT LEFT INFO INFO RIGHT LEFT LEFT INFO RIGHT 10 17 12 25 (5) (4) (3) (2) (1) Kalau sudah ada 4 buah simpul, INSERT KIRI akan menginsert simpul yang baru di buat, diujung paling kiri menjadi simpul no. (5)
4
25 P sudah ada simpul awal sebagai berikut : LAST FIRST RIGHT INFO
3.05 sudah ada simpul awal sebagai berikut : LAST FIRST P RIGHT LEFT INFO 25 (1)
5
12 25 P akan dibuat simpul baru yang akan diinsert disini LAST FIRST
3.05 akan dibuat simpul baru yang akan diinsert disini LAST FIRST P RIGHT RIGHT LEFT INFO LEFT INFO 12 25 (2) (1) Perhatikan pointer P menujuk simpul yang baru tidak menunjuk simpul yang lama lagi
6
12 25 P sehingga akan ter-link sebagai berikut : LAST FIRST RIGHT
3.05 sehingga akan ter-link sebagai berikut : LAST FIRST P RIGHT RIGHT LEFT INFO LEFT INFO 12 25 (2) (1)
7
Algoritma Membuat Simpul Baru Dan INSERT KIRI
3.05 void Awal (void) { int X; scanf(ā%iā, &X); P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL; } 1) 2) 3) 4) 5) 6) LAST FIRST P RIGHT LEFT RIGHT LEFT INFO INFO 12 25 (2) (1)
8
Algoritma tahap per tahap
3.05 Algoritma tahap per tahap
9
25 P = (Simpul *) malloc(sizeof(Simpul)); P LAST (2) (1)
P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL; 1) 2) 3) 4) 5) 6) 3.05 P = (Simpul *) malloc(sizeof(Simpul)); LAST FIRST P RIGHT RIGHT LEFT INFO LEFT INFO 25 (2) (1) Membuat Simpul (2)
10
12 25 P->INFO = X; P LAST (2) (1) P->INFO diisi dengan nilai X
P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL; 1) 2) 3) 4) 5) 6) 3.05 P->INFO = X; LAST FIRST P RIGHT RIGHT LEFT INFO LEFT INFO 12 25 (2) (1) P->INFO diisi dengan nilai X
11
12 25 LAST->LEFT = P; P LAST (2) (1)
P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL; 1) 2) 3) 4) 5) 6) 3.05 LAST->LEFT = P; LAST FIRST P RIGHT RIGHT LEFT INFO LEFT INFO 12 25 (2) (1) Pointer LEFT Simpul (1) menunjuk simpul (2)
12
12 25 P->RIGHT = LAST; P LAST (2) (1)
P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL; 1) 2) 3) 4) 5) 6) 3.05 P->RIGHT = LAST; LAST FIRST P RIGHT RIGHT LEFT INFO LEFT INFO 12 25 (2) (1) Pointer RIGHT simpul (2) menunjuk simpul (1)
13
12 25 LAST = P; P (2) (1) Pointer LAST pindah menunjuk simpul terakhir
P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL; 1) 2) 3) 4) 5) 6) 3.05 LAST = P; LAST FIRST P RIGHT RIGHT LEFT INFO LEFT INFO 12 25 (2) (1) Pointer LAST pindah menunjuk simpul terakhir
14
12 25 P->LEFT = NULL; P (2) (1) Pointer LEFT simpul (2) diisi NULL
P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL; 1) 2) 3) 4) 5) 6) 3.05 P->LEFT = NULL; LAST FIRST P RIGHT RIGHT LEFT INFO LEFT INFO 12 25 (2) (1) Pointer LEFT simpul (2) diisi NULL
15
3.05 LATIHAN DI KELAS
16
12 25 P Pertanyaan : Ada berapa buah simpul Ada berapa buah pointer
3.05 LAST FIRST P RIGHT RIGHT LEFT INFO LEFT INFO 12 25 (2) (1) Pertanyaan : Ada berapa buah simpul Ada berapa buah pointer Sebutkan nama dan isinya masing-masing
17
12 25 P LAST FIRST RIGHT RIGHT LEFT INFO LEFT INFO (2) (1) 3.05 1 3 2
6 5 4 (2) (1) 7
18
12 25 P No Nama isi &(2) LAST P &(2) FIRST &(1)
RIGHT RIGHT No Nama isi LEFT INFO 3 LEFT INFO 2 &(2) 1 LAST 12 6 25 P 2 &(2) 5 3 FIRST &(1) 4 (2) (1) 7 No Pointer Nama pointer isi 4 5 6 7
19
12 25 P No Nama isi &(2) LAST P &(2) FIRST &(1)
RIGHT 3 LEFT RIGHT No Nama isi LEFT INFO INFO 2 &(2) 1 LAST 12 6 25 P 2 &(2) 5 3 FIRST &(1) 4 (2) (1) 7 No Pointer Nama pointer isi ->LEFT yaitu : 4 1 NULL ->LEFT yaitu : 2 ->LEFT yaitu : 6 5 6 7
20
12 25 P No Nama isi &(2) LAST P &(2) FIRST &(1)
RIGHT 3 LEFT LEFT RIGHT No Nama isi INFO INFO 2 &(2) 1 LAST 12 6 25 P 2 &(2) 5 3 FIRST &(1) 4 (2) (1) 7 No Pointer Nama pointer isi ->LEFT yaitu : LAST->LEFT 4 1 NULL ->LEFT yaitu : P->LEFT 2 ->LEFT yaitu : 6 5 6 7
21
12 25 P No Nama isi &(2) LAST P &(2) FIRST &(1)
RIGHT 3 LEFT RIGHT No Nama isi LEFT INFO INFO 2 &(2) 1 LAST 12 6 25 P 2 &(2) 5 3 FIRST &(1) 4 (2) (1) 7 No Pointer Nama pointer isi ->LEFT yaitu : LAST->LEFT 4 1 NULL ->LEFT yaitu : P->LEFT 2 ->LEFT yaitu : 6 5 6 ->LEFT yaitu : 3 &(2) ->LEFT yaitu : 5 7
22
12 25 P No Nama isi &(2) LAST P &(2) FIRST &(1)
RIGHT 3 LEFT RIGHT No Nama isi LEFT INFO INFO 2 &(2) 1 LAST 12 6 25 P 2 &(2) 5 3 FIRST &(1) 4 (2) (1) 7 No Pointer Nama pointer isi ->LEFT yaitu : LAST->LEFT 4 1 NULL ->LEFT yaitu : P->LEFT 2 ->LEFT yaitu : 6 5 6 ->LEFT yaitu : FIRST->LEFT 3 &(2) ->LEFT yaitu : 5 7
23
12 25 P No Nama isi &(2) LAST P &(2) FIRST &(1)
RIGHT 3 LEFT RIGHT No Nama isi LEFT INFO INFO 2 &(2) 1 LAST 12 6 25 P 2 &(2) 5 3 FIRST &(1) 4 (2) (1) 7 No Pointer Nama pointer isi ->LEFT yaitu : LAST->LEFT 4 1 NULL ->LEFT yaitu : P->LEFT 2 ->LEFT yaitu : FIRST->LEFT->LEFT 6 5 6 ->LEFT yaitu : FIRST->LEFT 3 &(2) ->LEFT yaitu : 5 7
24
12 25 P No Nama isi &(2) LAST P &(2) FIRST &(1)
RIGHT 3 LEFT RIGHT No Nama isi LEFT INFO INFO 2 &(2) 1 LAST 12 6 25 P 2 &(2) 5 3 FIRST &(1) 4 (2) (1) 7 No Pointer Nama pointer isi ->LEFT yaitu : LAST->LEFT 4 1 NULL ->LEFT yaitu : P->LEFT 2 ->LEFT yaitu : FIRST->LEFT->LEFT 6 ->RIGHT yaitu : 5 1 &(1) ->RIGHT yaitu : 2 6 ->LEFT yaitu : FIRST->LEFT 3 &(2) ->LEFT yaitu : 5 7
25
12 25 P No Nama isi &(2) LAST P &(2) FIRST &(1)
RIGHT 3 LEFT RIGHT No Nama isi LEFT INFO INFO 2 &(2) 1 LAST 12 6 25 P 2 &(2) 5 3 FIRST &(1) 4 (2) (1) 7 No Pointer Nama pointer isi ->LEFT yaitu : LAST->LEFT 4 1 NULL ->LEFT yaitu : P->LEFT 2 ->LEFT yaitu : FIRST->LEFT->LEFT 6 ->RIGHT yaitu : LAST->RIGHT 5 1 &(1) ->RIGHT yaitu : P->RIGHT 2 6 ->LEFT yaitu : FIRST->LEFT 3 &(2) ->LEFT yaitu : 5 7
26
12 25 P No Nama isi &(2) LAST P &(2) FIRST &(1)
RIGHT 3 LEFT RIGHT No Nama isi LEFT INFO INFO 2 &(2) 1 LAST 12 6 25 P 2 &(2) 5 3 FIRST &(1) 4 (2) (1) 7 No Pointer Nama pointer isi ->LEFT yaitu : LAST->LEFT 4 1 NULL ->LEFT yaitu : P->LEFT 2 ->LEFT yaitu : FIRST->LEFT->LEFT 6 ->RIGHT yaitu : LAST->RIGHT 5 1 &(1) ->RIGHT yaitu : P->RIGHT 2 6 ->LEFT yaitu : FIRST->LEFT 3 &(2) ->LEFT yaitu : LAST->RIGHT->LEFT P->RIGHT->LEFT 5 7
27
12 25 P No Nama isi &(2) LAST P &(2) FIRST &(1)
RIGHT 3 LEFT LEFT RIGHT No Nama isi INFO INFO 2 &(2) 1 LAST 12 6 25 P 2 &(2) 5 3 FIRST &(1) 4 (2) (1) 7 No Pointer Nama pointer isi ->LEFT yaitu : LAST->LEFT 4 1 NULL ->LEFT yaitu : P->LEFT 2 ->LEFT yaitu : FIRST->LEFT->LEFT 6 ->RIGHT yaitu : LAST->RIGHT 5 1 &(1) ->RIGHT yaitu : P->RIGHT 2 6 ->LEFT yaitu : FIRST->LEFT 3 &(2) ->LEFT yaitu : LAST->RIGHT->LEFT P->RIGHT->LEFT 5 7 ->RIGHT yaitu : 3 NULL ->RIGHT yaitu : 5
28
12 25 P No Nama isi &(2) LAST P &(2) FIRST &(1)
RIGHT 3 LEFT LEFT RIGHT No Nama isi INFO INFO 2 &(2) 1 LAST 12 6 25 P 2 &(2) 5 3 FIRST &(1) 4 (2) (1) 7 No Pointer Nama pointer isi ->LEFT yaitu : LAST->LEFT 4 1 NULL ->LEFT yaitu : P->LEFT 2 ->LEFT yaitu : FIRST->LEFT->LEFT 6 ->RIGHT yaitu : LAST->RIGHT 5 1 &(1) ->RIGHT yaitu : P->RIGHT 2 6 ->LEFT yaitu : FIRST->LEFT 3 &(2) ->LEFT yaitu : LAST->RIGHT->LEFT P->RIGHT->LEFT 5 7 ->RIGHT yaitu : FIRST->RIGHT 3 NULL ->RIGHT yaitu : LAST->RIGHT->RIGHT P->RIGHT->RIGHT 5
29
4. 10 INSERT TENGAH. Sudah ada doubly linked linear list. Simpul no (7) sudah ditunjuk oleh pointer P. Sudah dibuat sebuah simpul baru yang ditunjuk oleh pointer P, dan P->INFO sudah diisi seperti ilustrasi berikut ini. P LEFT INFO RIGHT Q 20 LEFT INFO RIGHT LEFT INFO RIGHT 32 27 (7) (8) Soal : Susun algoritma untuk menginsert simpul baru tersebut antara simpul no (7) dan simpul no (8), sehingga terhubung seperti yang diilustrasikan berikut ini : P LEFT INFO RIGHT 20 Q 4) LEFT INFO RIGHT 8 3) LEFT INFO RIGHT 2) 1) 32 27 7 9 Instruksi yang diperlukan, adalah sebagai berikut : Fungsi untuk Insert Tengah. void InsertTengah (void) { int X; scanf(ā%iā, &X); p = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; P->RIGHT = Q->RIGHT; P->LEFT = Q; Q->RIGHT->LEFT = P; Q->RIGHT = P; Sekarang simpul ini menjadi berada pada urutan simpul yang ke 9. Nomor ini tak ada dalam komputer. Nomor ini hanya dipakai untuk mengilustrasikan urutan simpul. 1) 2) 3) 4) atau P->RIGHT->LEFT = P; Ada 4 instruksi yang pokok 114
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.