PENGANTAR
PENGANTAR
-
- Double Linked
Double Linked List Circular adalah
List Circular adalah linked list dengan
linked list dengan menggunakan
menggunakan
pointer, dimana setiap node memiliki 3 field, yaitu 1 field pointer yang
pointer, dimana setiap node memiliki 3 field, yaitu 1 field pointer yang
menunjuk pointer berikutnya (
menunjuk pointer berikutnya (
next
next
), 1 field menunjuk pointer sebelumnya
), 1 field menunjuk pointer sebelumnya
((
prev
prev
), serta sebuah field yang berisi data untuk node tersebut.
), serta sebuah field yang berisi data untuk node tersebut.
-
- Double
Double Linked
Linked List
List Circular
Circular pointer
pointer
next
next
dan
dan
prev
prev
nya menunjuk ke
nya menunjuk ke
dirinya sendiri secara circular.
dirinya sendiri secara circular.
BENTUK NODE DLLC
BENTUK NODE DLLC
Pengertian: Pengertian:
Double
Double : : artinya artinya field field pointer-nya pointer-nya terdiri terdiri dari dari dua dua buah buah dan dan dua dua arah, arah, yaitu yaitu prev prev dan dan nextnext Linked
Linked List List : : artinya artinya node-node node-node tersebut tersebut saling saling terhubung terhubung satu satu sama sama lain.lain. Circular
Circular : : artinya artinya pointer pointer next next dan dan prev-nya prev-nya menunjuk menunjuk ke ke dirinya dirinya sendirisendiri
Ilustrasi Double Linked List Circular Ilustrasi Double Linked List Circular
Pointer Pointer next next
Menempati alamat memori tertentu Menempati alamat memori tertentu
data data Pointer Pointer prev prev A B C D A B C D F FFFFF11 FFFFFF22 FFFFFF33 FFFFFF44
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
-
- Setiap n
Setiap node pad
ode pada linked
a linked list mem
list mempunyai f
punyai field yang
ield yang berisi d
berisi data dan
ata dan pointer
pointer
ke node berikutnya &
ke node berikutnya & ke node sebelumnya
ke node sebelumnya
-
- Untuk
Untuk pembentukan
pembentukan node
node baru,
baru, mulanya
mulanya pointer
pointer
next
next
dan
dan
prev
prev
akan
akan
menunjuk ke dirinya sendiri.
menunjuk ke dirinya sendiri.
-
- Jika
Jika sudah lebih
sudah lebih dari
dari satu node,
satu node, maka
maka pointer
pointer
prev
prev
akan menunjuk ke
akan menunjuk ke
node sebelumnya, dan pointer
node sebelumnya, dan pointer
next
next
akan menunjuk ke node sesudahnya.
akan menunjuk ke node sesudahnya.
PEMBUATAN DOUBLE LINKED LIST
PEMBUATAN DOUBLE LINKED LIST CIRCULAR
CIRCULAR
Deklarasi node
Deklarasi node
Dibuat dari struct berikut ini:
Dibuat dari struct berikut ini:
typedef struct TNode{ typedef struct TNode{
int data; int data; TNode *next; TNode *next; Tnode *prev; Tnode *prev; }; };
Penjelasan:
Penjelasan:
-
- Pembuatan
Pembuatan struct
struct bernama
bernama
TNode
TNode
yang berisi 3 field, yaitu field data
yang berisi 3 field, yaitu field data
bertipe integer dan field next & prev yang bertipe pointer dari TNode
bertipe integer dan field next & prev yang bertipe pointer dari TNode
-
- Setelah p
Setelah pembuatan
embuatan struct, bu
struct, buat variabe
at variabel haed
l haed yang ber
yang bertipe pointe
tipe pointer dari
r dari
TNode yang berguna sebagai kepala linked list.
TNode yang berguna sebagai kepala linked list.
Pembentukan node baru
Pembentukan node baru
Digunakan keyword
Digunakan keyword
new
new
yang berarti mempersiapkan sebuah node baru
yang berarti mempersiapkan sebuah node baru
berserta alokasi memorinya, pointer
berserta alokasi memorinya, pointer
prev
prev
dan
dan
next
next
menunju ke dirinya sendiri.
menunju ke dirinya sendiri.
TNode *baru; TNode *baru;
baru = new TNode; baru = new TNode;
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
DOUBLE LINKED LIST
DOUBLE LINKED LIST CIRCULAR MENGGUNA
CIRCULAR MENGGUNAKAN HEAD
KAN HEAD
-
- Menggunakan
Menggunakan 1
1 pointer
pointer head
head
-
- Head
Head selalu
selalu menunjuk
menunjuk node
node pertama
pertama
Deklarasi Pointer Head
Deklarasi Pointer Head
Manipulasi linked list tidak bisa dilakukan langsung ke node yang dituju,
Manipulasi linked list tidak bisa dilakukan langsung ke node yang dituju,
melainkan harus
melainkan harus melalui node
melalui node pertama dalam
pertama dalam linked list.
linked list. Deklarasinya sebagai
Deklarasinya sebagai
berikut:
berikut:
TNode *head; TNode *head;
Fungsi Inisialisasi LinkedList
Fungsi Inisialisasi LinkedList
voidvoid init(){init(){
head = NULL; head = NULL; }
}
Function untuk mengetahui kosong tidaknya
Function untuk mengetahui kosong tidaknya LinkedList
LinkedList
intint isEmpty(){isEmpty(){
if(head == NULL) return 1; if(head == NULL) return 1; else return 0; else return 0; } }
PENAMBAHAN DATA
PENAMBAHAN DATA
Penambahan data di depan
Penambahan data di depan
Penambahan node baru akan dikaitan di node
Penambahan node baru akan dikaitan di node
paling depan,
paling depan,
namun pada saat
namun pada saat
NULL NULL head head A B C D A B C D F FFFFF11 FFFFFF22 FFFFFF33 FFFFFF44 head head
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
Pada prinsipnya adalah mengkaitkan data baru dengan
Pada prinsipnya adalah mengkaitkan data baru dengan
head
head
, kemudian
, kemudian
head
head
akan menunjuk pada data baru tersebut sehingga
akan menunjuk pada data baru tersebut sehingga
head
head
akan tetap selalu
akan tetap selalu
menjadi data terdepan.
menjadi data terdepan.
Dibutuhkan pointer
Dibutuhkan pointer
bantu
bantu
yang digunakan untuk menunjuk node terakhir
yang digunakan untuk menunjuk node terakhir
((
head->prev
head->prev
) yang akan digunakan untuk mengikat list dengan node
) yang akan digunakan untuk mengikat list dengan node
terdepan.
terdepan.
voidvoid insertDepan(int databaru){insertDepan(int databaru){ TNode *baru, *bantu;
TNode *baru, *bantu; baru = new TNode; baru = new TNode;
baru->data = databaru; baru->data = databaru; baru->next = baru; baru->next = baru; baru->prev = baru; baru->prev = baru; if(isEmpty()==1){ if(isEmpty()==1){ head=baru; head=baru; head->next = head; head->next = head; head->prev = head; head->prev = head; } } else { else { bantu = head->prev; bantu = head->prev; baru->next = head; baru->next = head; head->prev = baru; head->prev = baru; head = baru; head = baru; head->prev = bantu; head->prev = bantu; bantu->next = head; bantu->next = head; } } cout<<"Data masuk\n"; cout<<"Data masuk\n"; } }
Ilustrasi:
Ilustrasi:
1.
1. List
List masih
masih kosong
kosong (head=NULL)
(head=NULL)
NULL NULL
head head
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
3.
3. Datang data
Datang data baru, misalnya
baru, misalnya 20
20
4.
4. Datang data
Datang data baru, misalnya
baru, misalnya 30
30
Penambahan data di belakang
Penambahan data di belakang
Penambahan data dilakukan
Penambahan data dilakukan
di belakang
di belakang, namun pada saat pertama kali data
, namun pada saat pertama kali data
langsung ditunjuk pada
langsung ditunjuk pada
head
head
-nya.
-nya.
Penambahan di belakang lebih sulit karena kita membutuhkan pointer
Penambahan di belakang lebih sulit karena kita membutuhkan pointer
bantu
bantu
untuk mengetahui data terbelakang, namun tidak diperlukan loop karena untuk
untuk mengetahui data terbelakang, namun tidak diperlukan loop karena untuk
baru baru bantu bantu 5 5 head head 20 20 baru baru 5 5 head head 20 20 baru baru 5 5 20 20 baru head baru head bantu bantu bantu bantu 5 5 20 20 head head bantu bantu 5 5 20 20 head head 30 30 baru baru 30 30
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom void
void insertBelakang (int databaru){insertBelakang (int databaru){
TNode *baru,*bantu; TNode *baru,*bantu; baru = new TNode; baru = new TNode;
baru->data = databaru; baru->data = databaru; baru->next = baru; baru->next = baru; baru->prev = baru; baru->prev = baru; if(isEmpty()==1){ if(isEmpty()==1){ head=baru; head=baru; head->next = head; head->next = head; head->prev = head; head->prev = head; } } else { else { bantu=head->prev; bantu=head->prev; bantu->next = baru; bantu->next = baru; baru->prev = bantu; baru->prev = bantu; baru->next = head; baru->next = head; head->prev = baru; head->prev = baru; } } cout<<"Data masuk\n"; cout<<"Data masuk\n"; } }
Ilustrasi:
Ilustrasi:
1.
1. List
List masih
masih kosong
kosong ((
head=NULL
head=NULL
))
2.
2. Masuk
Masuk data
data baru, misalnya
baru, misalnya 5
5
3.
3. Datang data
Datang data baru, misalnya 20
baru, misalnya 20 (penambahan di
(penambahan di belakang)
belakang)
head head NULL NULL 5 5 head baru head baru 5 5 head head 20 20 baru baru
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
4.
4. Datang data
Datang data baru, misal 25
baru, misal 25 (penambahan di belakang)
(penambahan di belakang)
“Bagaimana dengan penambahan di tengah?”
“Bagaimana dengan penambahan di tengah?”
Function untuk menampilkan isi linked list
Function untuk menampilkan isi linked list
baru baru 20 20 head head 5 5 20 20 head head 5 5 25 25 baru baru 20 20 head head 5 5 25 25 baru baru bantu bantu 20 25 20 25 baru baru 5 5 head head bantu bantu
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
-
- Function di
Function di atas digun
atas digunakan untu
akan untuk menam
k menampilkan sem
pilkan semua isi list,
ua isi list, di mana
di mana
linked list ditelusuri satu-persatu dari awal node sampai akhir node.
linked list ditelusuri satu-persatu dari awal node sampai akhir node.
Penelusuran ini dilakukan dengan menggunakan suatu variabel node
Penelusuran ini dilakukan dengan menggunakan suatu variabel node
bantu, karena pada prinsipnya variabel node head yang menjadi tanda
bantu, karena pada prinsipnya variabel node head yang menjadi tanda
awal list
awal list tidak boleh berubah/berganti posisi.
tidak boleh berubah/berganti posisi.
-
- Penelusuran dilakukan
Penelusuran dilakukan terus
terus sampai
sampai node
node terakhir ditemukan
terakhir ditemukan menunjuk
menunjuk
ke
ke head lagi.
head lagi. Jika belum
Jika belum sama dengan
sama dengan head, maka
head, maka node bantu
node bantu akan
akan
berpindah ke node selanjutnya dan membaca isi datanya dengan
berpindah ke node selanjutnya dan membaca isi datanya dengan
mengguna
menggunakan field
kan field next sehingga dapat saling
next sehingga dapat saling berkait.
berkait.
-
- Jika
Jika head
head masih
masih NULL
NULL berarti
berarti data
data masih
masih kosong!
kosong!
PENGHAPUSAN DATA
PENGHAPUSAN DATA
Function untuk menghapus data di depan:
Function untuk menghapus data di depan:
void
void hapusDepan (){hapusDepan (){
TNode *hapus,*bantu; TNode *hapus,*bantu; int d; int d; if (isEmpty()==0){ if (isEmpty()==0){ if(head->next != head){ if(head->next != head){ hapus = head; hapus = head; d = hapus->data; d = hapus->data; bantu = head->prev; bantu = head->prev; head = head->next; head = head->next;
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
-
- Function
Function di
di atas
atas akan
akan menghapus
menghapus data
data
teratas (pertama)
teratas (pertama)
yang ditunjuk
yang ditunjuk
oleh head pada linked list
oleh head pada linked list
-
- Penghapusa
Penghapusan node tidak
n node tidak boleh dilakuka
boleh dilakukan jika keadaa
n jika keadaan node seda
n node sedang
ng
ditunjuk oleh pointer, maka harus ditampung dahulu pada pointer hapus
ditunjuk oleh pointer, maka harus ditampung dahulu pada pointer hapus
dan barulah kemudian menghapus pointer hapus dengan menggunakan
dan barulah kemudian menghapus pointer hapus dengan menggunakan
perintah delete.
perintah delete.
-
- Jika
Jika head
head masih
masih NULL
NULL maka
maka berarti
berarti data
data masih
masih kosong!
kosong!
Function untuk menghapus node terbelakang
Function untuk menghapus node terbelakang
B B C C DD head head head head A B C D A B C D bantu bantu hapus hapus bantu bantu
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
head = NULL; head = NULL; } } cout<<d<<" terhapus\n"; cout<<d<<" terhapus\n";
} else cout<<"Masih kosong\n"; } else cout<<"Masih kosong\n"; }
}
-
- Diperlukan
Diperlukan pointer
pointer
bantu
bantu
yang mengikuti pointer
yang mengikuti pointer
hapus
hapus
yang berguna
yang berguna
untuk menunjuk ke node sebelum terakhir.
untuk menunjuk ke node sebelum terakhir.
-
- Kemudian
Kemudian pointer
pointer
hapus
hapus
ditunjukkan ke node setelah pointer bantu,
ditunjukkan ke node setelah pointer bantu,
kemudian hapus pointer hapus dengan perintah delete.
kemudian hapus pointer hapus dengan perintah delete.
A B C D A B C D head head bantu bantu A B C D A B C D head
head hapushapus
A
A B B C C DD
bantu bantu
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
DOUBLE LINKED LIST MENGGUNAKAN HEAD dan TAIL
DOUBLE LINKED LIST MENGGUNAKAN HEAD dan TAIL
-
- Dibutuhkan
Dibutuhkan dua
dua buah
buah variabel
variabel pointer:
pointer:
head
head
dan
dan
tail
tail
--
Head
Head
akan selalu menunjuk pada node pertama, sedangkan
akan selalu menunjuk pada node pertama, sedangkan
tail
tail
akan
akan
selalu menunjuk pada node terakhir.
selalu menunjuk pada node terakhir.
Inisialisasi LinkedList DLLC
Inisialisasi LinkedList DLLC
TNode *head, *tail; TNode *head, *tail;
Fungsi Inisialisasi LinkedList DLLC
Fungsi Inisialisasi LinkedList DLLC
void
void init(){init(){
head = NULL; head = NULL; tail = NULL; tail = NULL; } }
Function untuk mengetahui kosong tidaknya
Function untuk mengetahui kosong tidaknya LinkedList
LinkedList
int
int isEmpty(){isEmpty(){
if(tail == NULL) return 1; if(tail == NULL) return 1; else return 0; else return 0; NULL NULL head head tail tail A B C D A B C D F FFFFF11 FFFFFF22 FFFFFF33 FFFFFF44 head tail head tail
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom baru->data = databaru; baru->data = databaru; baru->next = baru; baru->next = baru; baru->prev = baru; baru->prev = baru; if(isEmpty()==1){ if(isEmpty()==1){ head=baru; head=baru; tail=baru; tail=baru; head->next = head; head->next = head; head->prev = head; head->prev = head; tail->next = tail; tail->next = tail; tail->prev = tail; tail->prev = tail; } } else { else { baru->next = head; baru->next = head; head->prev = baru; head->prev = baru; head = baru; head = baru; head->prev = tail; head->prev = tail; tail->next = head; tail->next = head; } } cout<<"Data masuk\n"; cout<<"Data masuk\n"; } }
Ilustrasi:
Ilustrasi:
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
3.
3. Datang data
Datang data baru, misalnya
baru, misalnya 20
20 (di depan)
(di depan)
Penambahan node di belakang
Penambahan node di belakang
Penambahan node di belakang akan selalu dikaitkan dengan tail dan kemudian
Penambahan node di belakang akan selalu dikaitkan dengan tail dan kemudian
node baru tersebut akan menjadi tail
node baru tersebut akan menjadi tail
5 5 head head 20 20 baru baru 5 5 head head 20 20 baru baru 5 5 20 20 baru head baru head tail tail tail tail tail tail
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
tail->next = head; tail->next = head; head->prev = tail; head->prev = tail; } } cout<<"Data masuk\n"; cout<<"Data masuk\n"; } }
Ilustrasi:
Ilustrasi:
1.
1. List
List masih
masih kosong
kosong ((
head=NULL
head=NULL
))
2.
2. Masuk
Masuk data
data baru, misalnya
baru, misalnya 5
5
3.
3. Datang data
Datang data baru, misalnya 20
baru, misalnya 20 (penambahan di
(penambahan di belakang)
belakang)
head head NULL NULL 5 5 head
head baru baru tailtail
5
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
“Bagaimana dengan penambahan di tengah?”
“Bagaimana dengan penambahan di tengah?”
Function untuk menampilkan isi linked list
Function untuk menampilkan isi linked list
voidvoid tampil(){tampil(){
TNode *bantu; TNode *bantu; bantu = head; bantu = head; if(isEmpty()==0){ if(isEmpty()==0){ do{ do{ cout<<bantu->data<<" "; cout<<bantu->data<<" "; bantu=bantu->next; bantu=bantu->next; }while(bantu!=tail->next); }while(bantu!=tail->next); cout<<endl; cout<<endl;
} else cout<<"Masih kosong\n"; } else cout<<"Masih kosong\n";
20 20 head head 5 5 2525 baru
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom }
}
cout<<d<<" terhapus\n"; cout<<d<<" terhapus\n";
} else cout<<"Masih kosong\n"; } else cout<<"Masih kosong\n"; } } head head A B C D A B C D B B C C DD head head tail tail hapus hapus head head A B C D A B C D tail tail hapus hapus tail tail
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom d = hapus->data; d = hapus->data; tail = tail->prev; tail = tail->prev; tail->next = head; tail->next = head; head->prev = tail; head->prev = tail; delete hapus; delete hapus; } else { } else { d = head->data; d = head->data; head = NULL; head = NULL; tail = NULL; tail = NULL; } } cout<<d<<" terhapus\n"; cout<<d<<" terhapus\n";
} else cout<<"Masih kosong\n"; } else cout<<"Masih kosong\n";
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
Titles you can't find anywhere else
Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!
Start Free Trial Cancel Anytime.
HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI
PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom
Function untuk menghapus semua elemen
Function untuk menghapus semua elemen LinkedList
LinkedList
voidvoid clear(){clear(){
TNode *bantu,*hapus; TNode *bantu,*hapus; if (isEmpty()==0){ if (isEmpty()==0){ bantu = head; bantu = head; while(bantu->next!=head){ while(bantu->next!=head){ hapus = bantu; hapus = bantu; bantu = bantu->next; bantu = bantu->next; delete hapus; delete hapus; } } head = NULL; head = NULL; } } } }