Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Linear Doubly INSERT KIRI

Presentasi serupa


Presentasi berjudul: "Linear Doubly INSERT KIRI"ā€” Transcript presentasi:

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


Download ppt "Linear Doubly INSERT KIRI"

Presentasi serupa


Iklan oleh Google