1 6.3 & 7.3 nested loop linear doubly linked list insert kiri

Post on 01-Apr-2015

278 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

6.3 & 7.3NESTED LOOP

Linear DoublyLinked List

INSERT KIRI

2

INSERT KIRIMenambah simpul baru diujung paling kiri Linked List

yang sudah ada Disebut juga

INSERT AWAL

3.08

3

3.08

Kalau sudah ada 4 buah simpul, INSERT KIRI akan menginsert simpul yang baru di buat, diujung paling kiri menjadi simpul no. (5)

(5)

10

INFO

RIG

HT

LEFT

LAST

17

INFO

RIG

HT

LEFT

12

INFO

LEFT

25

RIG

HT

INFO

LEFT

RIG

HT

FIRST

(1)(2)(3)(4)

4

3.05

sudah ada simpul awalsebagai berikut :

INFO

RIG

HT

LEFT

FIRST

LAST

25

(1)

P

5

3.05

akan dibuat simpul baruyang akan diinsert disini

Perhatikan pointer Pmenujuk simpul yang barutidak menunjuk simpul yang lama lagi

INFO

RIG

HTP

LEFT

12

(2)

INFO

RIG

HT

LEFT

FIRST

LAST

25

(1)

6

3.05

sehingga akan ter-linksebagai berikut :

INFO

RIG

HTP

LEFT

12

(2)

INFO

RIG

HT

LEFT

FIRST

LAST

25

(1)

7

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)

Algoritma Membuat Simpul BaruDan INSERT KIRI

INFO

RIG

HT

LEFT

LAST FIRST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

8

3.05

Algoritma tahap per tahap

9

3.05

Membuat Simpul (2)

1)2)3)4)5)6)

P = (Simpul *) malloc(sizeof(Simpul));

P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL;

INFO

RIG

HT

LEFT

FIRST

INFO

RIG

HTP

LEFT

25

(2) (1)

LAST

10

3.05

P->INFO diisi dengan nilai X

1)2)3)4)5)6)

P->INFO = X;

P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL;

INFO

RIG

HT

LEFT

FIRST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

LAST

11

3.05

Pointer LEFT Simpul (1) menunjuk simpul (2)

1)2)3)4)5)6)

LAST->LEFT = P;

P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL;

INFO

RIG

HT

LEFT

FIRST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

LAST

12

3.05

Pointer RIGHT simpul (2) menunjuk simpul (1)

1)2)3)4)5)6)

P->RIGHT = LAST;

P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL;

INFO

RIG

HT

LEFT

FIRST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

LAST

13

3.05

Pointer LAST pindah menunjuk simpul terakhir

1)2)3)4)5)6)

LAST = P;

P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL;

INFO

RIG

HT

LEFT

FIRST

LAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

14

3.05

Pointer LEFT simpul (2) diisi NULL

INFO

RIG

HT

LEFT

FIRST

LAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

1)2)3)4)5)6)

P->LEFT = NULL;

P = (Simpul *) malloc(sizeof(Simpul)); P->INFO = X; LAST->LEFT = P; P->RIGHT = LAST; LAST = P; P->LEFT = NULL;

15

3.05

LATIHANDI

KELAS

16

3.05

Pertanyaan :1. Ada berapa buah simpul2. Ada berapa buah pointer Sebutkan nama dan isinya masing-masing

INFO

RIG

HTP

LEFT

12

(2)

INFO

RIG

HT

LEFT

FIRST

LAST

25

(1)

17

3.05

1

2

3

4

6

5

7

INFO

RIG

HTP

LEFT

12

(2)

INFO

RIG

HT

LEFT

FIRST

LAST

25

(1)

18

INFO

RIG

HT

LEFT

FIRSTLAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

1

45

23

6

7

No Pointer Nama pointer isi

1

2

3

4

5

6

7

LASTP

FIRST

No Nama isi&(2)

&(2)&(1)

19

No Pointer Nama pointer isi

4

5

6

7

1

2

->LEFT yaitu :->LEFT yaitu :

INFO

RIG

HT

LEFT

FIRSTLAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

1

45

2

3

6

7

6 ->LEFT yaitu :

1

2

3

LASTP

FIRST

No Nama isi&(2)

&(2)&(1)

NULL

20

INFO

RIG

HT

LEFT

FIRSTLAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

1

45

2

3

6

7

No Pointer Nama pointer isi

4

5

6

7

1

2

->LEFT yaitu : LAST->LEFT->LEFT yaitu : P->LEFT

6 ->LEFT yaitu :

1

2

3

LASTP

FIRST

No Nama isi&(2)

&(2)&(1)

NULL

21

INFO

RIG

HT

LEFT

FIRSTLAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

1

45

2

3

6

7

No Pointer Nama pointer isi

4

5

6

7

1

2

->LEFT yaitu : LAST->LEFT->LEFT yaitu : P->LEFT

6 ->LEFT yaitu :

3 ->LEFT yaitu :

5 ->LEFT yaitu :

1

2

3

LASTP

FIRST

No Nama isi&(2)

&(2)&(1)

&(2)

NULL

22

INFO

RIG

HT

LEFT

FIRSTLAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

1

45

2

3

6

7

No Pointer Nama pointer isi

4

5

6

7

1

2

->LEFT yaitu : LAST->LEFT->LEFT yaitu : P->LEFT

6 ->LEFT yaitu :

3 ->LEFT yaitu : FIRST->LEFT

5 ->LEFT yaitu :

1

2

3

LASTP

FIRST

No Nama isi&(2)

&(2)&(1)

&(2)

NULL

23

INFO

RIG

HT

LEFT

FIRSTLAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

1

45

2

3

6

7

No Pointer Nama pointer isi

4

5

6

7

1

2

->LEFT yaitu : LAST->LEFT->LEFT yaitu : P->LEFT

6 ->LEFT yaitu : FIRST->LEFT->LEFT

3 ->LEFT yaitu : FIRST->LEFT

5 ->LEFT yaitu :

1

2

3

LASTP

FIRST

No Nama isi&(2)

&(2)&(1)

&(2)

NULL

24

INFO

RIG

HT

LEFT

FIRSTLAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

1

45

2

3

6

7

No Pointer Nama pointer isi

4

5

6

7

1

2

->LEFT yaitu : LAST->LEFT->LEFT yaitu : P->LEFT

6 ->LEFT yaitu : FIRST->LEFT->LEFT

3 ->LEFT yaitu : FIRST->LEFT

5 ->LEFT yaitu :

1

2

3

LASTP

FIRST

No Nama isi&(2)

&(2)&(1)

1 ->RIGHT yaitu :

2 ->RIGHT yaitu :

&(2)

&(1)

NULL

25

INFO

RIG

HT

LEFT

FIRSTLAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

1

45

2

3

6

7

No Pointer Nama pointer isi

4

5

6

7

1

2

->LEFT yaitu : LAST->LEFT->LEFT yaitu : P->LEFT

6 ->LEFT yaitu : FIRST->LEFT->LEFT

3 ->LEFT yaitu : FIRST->LEFT

5 ->LEFT yaitu :

1

2

3

LASTP

FIRST

No Nama isi&(2)

&(2)&(1)

1 ->RIGHT yaitu : LAST->RIGHT

2 ->RIGHT yaitu : P->RIGHT

&(2)

&(1)

NULL

26

INFO

RIG

HT

LEFT

FIRSTLAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

1

45

2

3

6

7

No Pointer Nama pointer isi

4

5

6

7

1

2

->LEFT yaitu : LAST->LEFT->LEFT yaitu : P->LEFT

6 ->LEFT yaitu : FIRST->LEFT->LEFT

3 ->LEFT yaitu : FIRST->LEFT

5 ->LEFT yaitu : LAST->RIGHT->LEFT P->RIGHT->LEFT

1

2

3

LASTP

FIRST

No Nama isi&(2)

&(2)&(1)

1 ->RIGHT yaitu : LAST->RIGHT

2 ->RIGHT yaitu : P->RIGHT

&(2)

&(1)

NULL

27

INFO

RIG

HT

LEFT

FIRSTLAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

1

45

2

3

6

7

No Pointer Nama pointer isi

4

5

6

7

1

2

->LEFT yaitu : LAST->LEFT->LEFT yaitu : P->LEFT

6 ->LEFT yaitu : FIRST->LEFT->LEFT

3 ->LEFT yaitu : FIRST->LEFT

5 ->LEFT yaitu : LAST->RIGHT->LEFT P->RIGHT->LEFT

1

2

3

LASTP

FIRST

No Nama isi&(2)

&(2)&(1)

1 ->RIGHT yaitu : LAST->RIGHT

2 ->RIGHT yaitu : P->RIGHT

3 ->RIGHT yaitu :

5 ->RIGHT yaitu :

&(2)

&(1)

NULL

NULL

28

INFO

RIG

HT

LEFT

FIRSTLAST

12

INFO

RIG

HTP

LEFT

25

(2) (1)

1

45

2

3

6

7

No Pointer Nama pointer isi

4

5

6

7

1

2

->LEFT yaitu : LAST->LEFT->LEFT yaitu : P->LEFT

6 ->LEFT yaitu : FIRST->LEFT->LEFT

3 ->LEFT yaitu : FIRST->LEFT

5 ->LEFT yaitu : LAST->RIGHT->LEFT P->RIGHT->LEFT

1

2

3

LASTP

FIRST

No Nama isi&(2)

&(2)&(1)

1 ->RIGHT yaitu : LAST->RIGHT

2 ->RIGHT yaitu : P->RIGHT

3 ->RIGHT yaitu : FIRST->RIGHT

5 ->RIGHT yaitu : LAST->RIGHT->RIGHT P->RIGHT->RIGHT

&(2)

&(1)

NULL

NULL

top related