Anda di halaman 1dari 22

1

STRUKTUR DATA

Circular Linked List

Rita Rismala, Dade Nurjanah,


Febryanti Sthevanie, Bambang Ari Wahyudi

Prodi Informatika – Fakultas Informatika


2

CIRCULAR LINKED LIST

• Pointer pada elemen tidak ada yang bernilai Nil


• Terdapat pointer yang menghubungkan elemen pertama dan
elemen terakhir secara langsung

2
3

CIRCULAR SINGLE LINKED LIST

First

First Last

3
4

CIRCULAR DOUBLE LINKED LIST

Last
First

First

4
5

STRUKTUR

• Struktur elemen circular single linked list.

info next

• Struktur elemen circular double linked list.

prev info next


5
6

STRUKTUR

• Circular list dengan satu kepala.


First

First

6
7

STRUKTUR

• Circular list dengan dua pointer kepala.


First Last

Last
First

7
8

LINEAR VS CIRCULAR LINKED LIST

Linear Linked List Circular Linked List PerbedaanP

8
9

LINEAR VS CIRCULAR LINKED LIST

Persamaan Perbedaan PerbedaanP

ADT Primitif:
Primitif: – Insert First
– Create new list – Insert Last
– Create new element – Delete First
– Insert After – Delete Last
– Delete After

9
10

CIRCULAR SINGLE LINKED LIST

First

First Last

10
11

INSERT

Insert
Last

Insert
First

11
12

INSERT LAST & INSERT FIRST

INITIAL STATE Kamus


p Algoritma

First 15 /
30 50

12
13

INSERT LAST & INSERT FIRST

Kamus
p q : address
Algoritma

First 15 next(p)  First(L)


{buat mekanisme agar q
menunjuk ke elemen terakhir}
30 50 next(q)  p

13
14

INSERT LAST & INSERT FIRST

Kamus
p q : address
Algoritma

First
q 15 next(p)  First(L)
{buat mekanisme agar q
menunjuk ke elemen terakhir}
30 50 next(q)  p

14
15

INSERT LAST & INSERT FIRST

Kamus
p q : address
Algoritma

First
q 15 next(p)  First(L)
{buat mekanisme agar q
menunjuk ke elemen terakhir}
30 50 next(q)  p

15
16

INSERT FIRST

Kamus
First
p q : address
Algoritma
q 15 next(p)  First(L)
{buat mekanisme agar q
menunjuk ke elemen terakhir}
30 50 next(q)  p
First(L)  p

langkah yang membedakan


16
insert first dengan insert last
17

INSERT LAST

Procedure InsertLast (In p: address, In/Out L: List)


{ IS: p adalah elemen baru, p≠nil. List L tidak kosong.
FS: Elemen p menjadi elemen terakhir dari list L. }
Kamus
q: address {pointer untuk menunjuk ke elemen terakhir}
Algoritma
next(p)  First(L)
{buat mekanisme agar q menunjuk ke elemen terakhir}
next(q)  p
HATI-HATI JIKA LIST AWAL KOSONG

17
18

INSERT FIRST

Procedure InsertFirst (In p: address, In/Out L: List)


{ IS: p adalah elemen baru, p≠nil. List L tidak kosong.
FS: Elemen p menjadi elemen pertama dari list L. }
Kamus
q: address {pointer untuk menunjuk ke elemen terakhir}
Algoritma
next(p)  First(L)
{buat mekanisme agar q menunjuk ke elemen terakhir}
next(q)  p
First(L)  p
HATI-HATI JIKA LIST AWAL KOSONG

18
19

INSERT PADA LIST KOSONG

First
First p p

/ 15 / 15

Kamus
Algoritma
First(L)  p
next(p)  First(L) circular

19
20

Silahkan download full materi di:


https://drive.google.com/drive/folders/1l09Oyj8pNrUU-
mhz5auC_UlskuS4Zf1D?usp=sharing

20
21

IMPLEMENTASI

• Penjadwalan Round Robin


• Pengaturan giliran pemain dalam permainan multiplayer
• Music player → playlist lagu

21
22

TERIMA KASIH

22

Anda mungkin juga menyukai