• Tidak ada hasil yang ditemukan

Think Different Materi ASD: Double Linked List Double Linked List

N/A
N/A
Protected

Academic year: 2017

Membagikan "Think Different Materi ASD: Double Linked List Double Linked List"

Copied!
12
0
0

Teks penuh

(1)

Algoritma dan Struktur Data

(2)

Struktur Doubly Linked List

Node-node doubly linked list saling berkait

melalui pointer. Bagian prev sebuah node

menunjuk node selanjutnya. Bagian next

sebuah node menunjuk node sesudahnya.

pHead : pointer yang menunjuk node

pertama

A

pHead

(3)

Struktur Doubly Linked List

Setiap node terdiri atas

prev, yaitu pointer yang menunjuk ke node

sebelumnya pada list

Data

next, yaitu pointer yang menunjuk ke node

sesudahnya pada list

prev node pertama bernilai NULL

next node terakhir bernilai NULL

A

pHead

(4)

Struktur Sebuah Node Doubly Linked List

Setiap node terdiri atas

prev, yaitu pointer yang menunjuk ke node

sebelumnya pada list

Data

next, yaitu pointer yang menunjuk ke node

sesudahnya pada list

(5)

Struktur Sebuah Node Doubly Linked List

//pointer ke node sebelum dan sesudahnya struct node *prev;

struct node *next; };

(6)

Operasi Doubly Linked List

1. Menambah sebuah node pada doubly linked list. 2. Menghapus sebuah node dari doubly linked list. 3. Mencari node pada doubly linked list.

(7)

Menambah Node ke Doubly-Linked List Kosong

Initial: Code:

pNew = (node *) /*create node*/ malloc(sizeof(node));

pNew -> data = 39;

pNew -> next = pHead; pNew -> prev= pHead;

(8)
(9)
(10)

Menghapus Node Pertama Doubly-Linked List

Before: Code:

pHead = pCur ->next;

pCur ->next ->prev = NULL; free(pCur);

After:

pHead 75 124

pCur

pHead Recycled 124

(11)
(12)

Tugas

Modifikasilah code single linked list menjadi doubly

Referensi

Dokumen terkait

• Masing-masing elemen pada double linked list terdiri dari tiga bagian, disamping data dan pointer next , masing-masing elemen dilengkapi dengan pointer prev

Berikut, terakhir sekali adalah algoritma yang fungsinya sama seperti algoritma DELLOC(INFO, LINK, START, AVAIL, ITEM) untuk linked list biasa, yakni untuk untuk menghapus,

Karena double linked list memiliki dua pointer sambungan, maka penyisipan bisa dilakukan sebelum data tertentu atau sesudah data tertentu, berbeda dengan single linked list yang

Proses menghapus satu simpul di belakang/di akhir Linked List (menghapus simpul yang ditunjuk oleh pointer akhir). - Keadaan List memiliki lebih dari satu simpul {awal

 Operasi pada double linked list terdiri dari operasi cetak, sisip dan hapus  Operasi cetak dapat dilakukan dari head ke tail atau dari tail ke head  Operasi sisip terdiri dari

Class Node pada double linked list tidak sama dengan single linked list karena nodenya memiliki 3 atribuat yaitu data node next dan node prev.. Berikut ini class

 Linked list didefinisikan sebagai kumpulan elemen dimana setiap elemen merupakan bagian dari sebuah simpul (node) yang juga berisi kaitan ke sebuah simpul yang lain [2].. 

Linked List 1 Linked List 1 § Structure 데이터의 node들을 pointer로 선언된 link를 통해 서로 연결한 list 형태의 자료 구조 § 한쪽 방향의 link만 있는 singly-linked list, 양 방향의 link가 모두 존재하는 doubly-linked list, list의 마지막