8-Double Linked List
description
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