8-Double Linked List

9
DOUBLE LINKED LIST By: De Rosal Ignatius Moses Setiadi

description

double linked list

Transcript of 8-Double Linked List

Page 1: 8-Double Linked List

DOUBLE LINKED LISTBy: De Rosal Ignatius Moses Setiadi

Page 2: 8-Double Linked List

LATAR BELAKANG

Ada kelemahan dalam single lingked list, yaitu: pengaksesan hanya dilakukan satu arah.

Perlu fasititas untuk memudahkan pengaksesandata secara bolak balik untuk pencarian danpengurutan data

Double linked list ada 2 macam:

Non Circular

Circular

Double linked list terdiri dari tiga bagian:

Data (isi linked list)

Prev (menunjuk alamat sebelum)

Next (menunjuk alamat sesudah)

Page 3: 8-Double Linked List

DEKLARASI DAN PEMBUATAN LIST KOSONG

Page 4: 8-Double Linked List

DOUBLE LINKED LIST NON

CIRCULAR

Page 5: 8-Double Linked List

GAMBARAN DOUBLE LINKED LIST NON CIRCULAR

List kosong

List dengan 3 elemen

Data next

Alamat list di memory

prev A null

100

null

head

100

C null

300

200B 300

200

100A 200

100

null

Contoh

Page 6: 8-Double Linked List

TUGAS

1. Buat program dengan Double Linked List yang terdiri dari menu:

Tambah node di depan

Tambah node di belakang

Hapus node di depan

Hapus node di depan

2. Tambahkan fasilitas cari yang dapatmenghasilkan output: ketemu / tidak ketemu

Misal: 1,2,3,4,5,6

Dicari : 5

Hasil : Ketemu

Page 7: 8-Double Linked List

TUGAS LANJUTAN

3. Pada output no 2, tambahkan jumlah data

yang ditemukan

Misal: 1,2,3,4,5,6,7,5,8,5

Dicari: 5

Hasil: ditemukan 3 data

4. Pada output no 2, tambahkan alamat index

data ditemukan, contoh :

Dari contoh no 3, Hasil diubah menjadi:

ditemukan 3 data pada Index 5,8 dan10

Page 8: 8-Double Linked List

TUGAS LANJUTAN

5. Berikan fasilitas hapus berdasarkan data,

contoh: 1,2,3,4,5,6,7,5,8,5

Dihapus: 5

Hasil: 1,2,3,4,6,7,8

KETERANGAN:

Tugas harus dikerjakan secara berurutan, jika tidak urut, maka bagian tersebut tidak dinilai

Tugas harus dikumpulkan di lab selesai tidak selesai

Jika memberikan pembetulan max 1 minggu (per nomor3 point kec no 1 = 48 point) Jadi nilai max jikadikumpulkan hari berikutnya adalah 60 point

Page 9: 8-Double Linked List

FUNGSI PRINTNODE DAN PRINTNODE2