Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehAri Hardja Telah diubah "6 tahun yang lalu
1
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 FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 (5) (1) (2) (3) (4) Kalau sudah ada 4 buah simpul, INSERT KIRI akan menginsert simpul yang baru di buat, diujung paling kiri menjadi simpul no. (5)
4
P 25 sudah ada simpul awal sebagai berikut : LAST FIRST INFO LINK 3.05
(1)
5
P 14 25 akan dibuat simpul baru yang akan diinsert disini LAST FIRST
3.05 LAST FIRST P INFO LINK INFO LINK 14 25 (1) Perhatikan pointer P menujuk simpul yang baru, simpul (2) , tidak menunjuk simpul (1) lagi
6
P 14 25 sehingga akan ter-link sebagai berikut : LAST FIRST INFO LINK
3.05 sehingga akan ter-link sebagai berikut : LAST FIRST P INFO LINK INFO LINK 14 25 (2) (1)
7
P 14 25 sehingga akan ter-link sebagai berikut : LAST FIRST INFO LINK
3.05 sehingga akan ter-link sebagai berikut : LAST FIRST P INFO LINK INFO LINK 14 25 (2) (1)
8
void InsertKiri (void) { int X; scanf(“%i”, &X);
3.05 Instruksi (algoritma) yang diperlukan, bila ditulis dalam sebuah fungsi : void InsertKiri (void) { int X; scanf(“%i”, &X); P=(Simpul*)malloc(sizeof(Simpul)); P->INFO = X; P->LINK = FIRST; FIRST = P; } 1) 2) 3) 4) Ada 4 instruksi pokok
9
Hasil instruksi satu per satu
3.05 Hasil instruksi satu per satu
10
P P=(Simpul*)malloc(sizeof(Simpul)); 25
P->INFO = X; P->LINK = FIRST FIRST = P; 1) 2) 3) 4) 3.05 P=(Simpul*)malloc(sizeof(Simpul)); instruksi 1) LAST FIRST P INFO LINK INFO LINK 25 (2) (1) Pointer P sudah menunjuk simpul no(2), tidak lagi menunjuk simpul (1)
11
25 \0 P X Sudad ada satu buah simpul awal 1000 FIRST LAST 1000 1000
INFO LINK 25 \0 1000 P FIRST LAST X 1000 1000 1000
12
25 \0 P X 800 misal alamat simpul baru = 800 1000 FIRST LAST 800 1000
INFO LINK 800 INFO LINK misal alamat simpul baru = 800 25 \0 1000 P FIRST LAST X 800 1000 1000
13
P P->INFO = X; 12 25 P=(Simpul*)malloc(sizeof(Simpul));
P->LINK = FIRST FIRST = P; 1) 2) 3) 4) 3.05 P->INFO = X; instruksi 2) LAST FIRST P INFO LINK INFO LINK 12 25 (2) (1) misal X hasil input = 12
14
12 25 \0 P X 12 800 1000 FIRST LAST 800 1000 1000 INFO LINK INFO LINK
Misal nilai X = 12 25 \0 1000 P FIRST LAST X 800 1000 1000 12
15
P P->LINK = FIRST; 14 25 P=(Simpul*)malloc(sizeof(Simpul));
P->INFO = X; P->LINK = FIRST FIRST = P; 1) 2) 3) 4) 3.05 P->LINK = FIRST; instruksi 3) LAST FIRST P INFO LINK INFO LINK 14 25 (2) (1)
16
14 25 P X 14 1000 800 \0 1000 FIRST LAST 800 1000 1000 INFO LINK INFO
17
P 14 25 P->LINK = LAST; atau P->LINK = FIRST; LAST 3.05 FIRST
INFO LINK INFO LINK 14 25 (2) (1) Ada 2 pointer yang menunjuk simpul ini yaitu : FIRST, dan LAST Jadi untuk meng-link simpul (2) dengan simpul (1), dapat ditulis dengan salah satu dari 2 instruksi berikut ini: P->LINK = LAST; atau P->LINK = FIRST;
18
14 25 14 25 Mana yang benar : P->LINK = FIRST; atau
LAST FIRST P INFO LINK INFO LINK 14 25 (2) (1) LAST FIRST P INFO LINK INFO LINK 14 25 (2) (1) Untuk meng-Link simpul (2) Dengan simpul (1) Mana yang benar : P->LINK = FIRST; atau P->LINK = LAST;
19
14 25 14 25 Sekarang ini, baik : P->LINK = FIRST; atau
LAST FIRST P INFO LINK INFO LINK 14 25 (2) (1) LAST FIRST P INFO LINK INFO LINK 14 25 (2) (1) Untuk meng-Link simpul (2) Dengan simpul (1) Sekarang ini, baik : P->LINK = FIRST; atau P->LINK = LAST; Sama sama benar (SEKARANG INI)
20
P->LINK = FIRST; P (1) (2) (5) (3) (4)
LAST P LINK LINK LINK LINK INFO INFO INFO INFO INFO LINK 14 25 12 17 10 (1) (2) (5) (3) (4) Yang menunjuk simpul ini adalah pointer : FIRST Sehingga bila simpul yang sudah ada lebih dari satu simpul (misal empat simpul) maka instruksi yang benar adalah : P->LINK = FIRST;
21
Pointer paling kiri selalu ditunjuk oleh pointer FIRST
3.08 FIRST LAST INFO LINK INFO LINK INFO LINK INFO LINK 25 12 17 10 (1) (2) (3 (4) Pointer paling kiri selalu ditunjuk oleh pointer FIRST
22
P P 14 25 FIRST = P; 14 25 P=(Simpul*)malloc(sizeof(Simpul));
P->INFO = X; P->LINK = FIRST FIRST = P; 1) 2) 3) 4) 3.05 LAST FIRST P INFO LINK INFO LINK instruksi 4) 14 25 FIRST = P; (1) FIRST LAST P INFO LINK INFO LINK 14 25 (1)
23
14 25 P X 14 1000 800 \0 1000 FIRST LAST 800 800 1000 INFO LINK INFO
24
P 14 25 Setelah simpul baru telah tersambung
FIRST 3.05 LAST P INFO LINK INFO LINK 14 25 (2) (1) Setelah simpul baru telah tersambung Maka simpul ini menjadi Simpul no. (1).
25
FIRST 3.05 LAST P INFO LINK INFO LINK 14 25 (1) (2)
26
3.05 LATIHAN DI KELAS
27
P 14 25 Ada berapa buah simpul yang terlihat Pertanyaan :
FIRST 3.05 LAST P INFO LINK INFO LINK 14 25 (1) (2) Ada berapa buah simpul yang terlihat Pertanyaan : Ada berapa buah pointer yang terlihat - Apa nama masing-masing pointer - Apa isi masing-masing pointer
28
14 25 P FIRST 3.05 LAST 2 3 1 4 (1) (2) 5 No Nama Isi
INFO LINK 3 INFO LINK 1 14 25 4 (1) (2) 5 No Nama Isi Pointer Pointer pointer 1 2 3 4 5
29
12 25 P FIRST 3.05 LAST 2 3 1 4 (1) (2) 5 No Nama Isi
INFO LINK 3 INFO LINK 1 12 25 4 (1) (2) 5 No Nama Isi Pointer Pointer pointer 1 P &(1) 2 FIRST &(1) 3 LAST &(2) P->LINK, atau FIRST->LINK 4 &(2) 5 LAST->LINK atau P->LINK->LINK atau FIRST->LINK->LINK NULL
30
14 25 P Sebutkan pointer mana saja yang nilainya sama FIRST 3.05 LAST
INFO LINK 3 INFO LINK 1 14 25 4 (1) (2) 5 Sebutkan pointer mana saja yang nilainya sama
31
12 25 P TRUE atau FALSE Kondisi berikut ini if( P->LINK == LAST )
FIRST 3.05 LAST P 2 INFO LINK 3 INFO LINK 1 12 25 4 (2) (1) 5 TRUE atau FALSE Kondisi berikut ini if( P->LINK == LAST ) if( LAST->LINK == FIRST->LINK->LINK )
32
Linked List INSERT TENGAH 6.3 & 7.3 NESTED LOOP
33
3.08 INSERT TENGAH Menyisipkan simpul baru diantara dua buah simpul pada sebuah Linked List yang sudah ada
34
. . . . . . . . . . . . P 3.08 Q (7) (8) P Q (7) (8) INFO LINK 14 INFO
22 20 . . . (7) (8) P INFO LINK 14 Q INFO LINK INFO LINK . . . . . . 22 20 (7) (8)
35
. . . . . . . . . . . . a a b P 3.08 Q (7) (8) P Q (7) (8) INFO LINK
14 Q INFO LINK INFO LINK . . . 22 20 . . . a (7) (8) P INFO LINK 14 Q INFO LINK INFO LINK a b . . . . . . 22 20 (7) (8)
36
a a b b a a b P Q (7) (8) P Q (7) (8) 14 22 20 14 22 20 INFO LINK INFO
37
a a b b a a b P Q (7) (8) P Q (7) (8) 14 22 20 14 22 20 INFO LINK INFO
38
a a b b a a b P Q Q->LINK = P; (7) (8) I P->LINK = Q->LINK; P
INFO LINK 14 Q INFO LINK INFO LINK 22 20 a a Q->LINK = P; (7) (8) I b P->LINK = Q->LINK; P INFO LINK b P->LINK = Q->LINK; 14 II Q a Q->LINK = P; INFO LINK INFO LINK a b 22 20 (7) (8)
39
. . . . . . a b a Q->LINK = P; I P->LINK = Q->LINK; P 3.08 Q
INFO LINK 14 Q INFO LINK INFO LINK . . . 22 20 . . . a (7) (8) a I Q->LINK = P; b P->LINK = Q->LINK;
40
a Q->LINK = P; a a P b Q (7) (8) Dengan : P Q (7) (8) I
INFO LINK b P->LINK = Q->LINK; 14 Q INFO LINK INFO LINK 22 20 a (7) (8) Dengan : Q->LINK = P; P INFO LINK 14 Q INFO LINK INFO LINK a 22 20 (7) (8)
41
P->LINK = Q->LINK;
a P I Q->LINK = P; INFO LINK b P->LINK = Q->LINK; 14 Q INFO LINK INFO LINK a 22 20 (7) (8) Dengan : P->LINK = Q->LINK; P INFO LINK 14 Q b INFO LINK INFO LINK a 22 20 (7) (8)
42
P->LINK = Q->LINK;
a P I Q->LINK = P; INFO LINK b P->LINK = Q->LINK; 14 Q INFO LINK INFO LINK a 22 20 (7) (8) Dengan : P->LINK = Q->LINK; P INFO LINK 14 Q b INFO LINK INFO LINK a 22 20 (7) (8)
43
. . . . . . b a a II P->LINK = Q->LINK; Q->LINK = P; P 3.08 Q
INFO LINK 14 Q INFO LINK INFO LINK . . . 22 20 . . . a (7) (8) II b P->LINK = Q->LINK; a Q->LINK = P;
44
P->LINK = Q->LINK;
II b P P->LINK = Q->LINK; INFO LINK a Q->LINK = P; 14 Q INFO LINK INFO LINK 22 20 a (7) (8) Dengan : P->LINK = Q->LINK; P INFO LINK 14 Q INFO LINK b INFO LINK a 22 20 a (7) (8)
45
b a Q->LINK = P; b a P b a Q (7) (8) Dengan : P Q (8) (7) (8) (9)
II b P P->LINK = Q->LINK; INFO LINK a Q->LINK = P; 14 Q INFO LINK b INFO LINK 22 20 a (7) (8) Dengan : Q->LINK = P; P INFO LINK 14 Q (8) INFO LINK b INFO LINK a 22 20 (7) (8) (9)
46
P->LINK = Q->LINK;
Algoritma untuk : INSERT TENGAH Bila pointer Q sudah menunjuk simpul Yang disebelah kiri : Q->LINK = P; P->LINK = Q->LINK;
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.