8-Double Linked List

Post on 02-Dec-2015

216 views 4 download

description

double linked list

Transcript of 8-Double Linked List

DOUBLE LINKED LISTBy: De Rosal Ignatius Moses Setiadi

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)

DEKLARASI DAN PEMBUATAN LIST KOSONG

DOUBLE LINKED LIST NON

CIRCULAR

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

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

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

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

FUNGSI PRINTNODE DAN PRINTNODE2