Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id DOUBLE LINKED LIST Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id.

Slides:



Advertisements
Presentasi serupa
Double Linked List.
Advertisements

Single linked list.
STRUKTUR DATA (7) single linked list circular
STRUKTUR DATA (8.1) double linked list non circular
LINKED LIST.
CARA MEMBUAT SINGLE LINKED LIST DENGAN BORLAND C++
Pertemuan 2 STRUKTUR DATA LINKED LIST
Mata Kuliah : Struktur Data Pertemuan : V
LINKED LIST Single Linked List.
LINKED LIST.
Linked List Pembuatan Simpul Awal.
Algoritma dan Struktur Data Daniel Riano Kaparang.
Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2010
Queue.
STRUKTUR DATA (6) single linked list non circular
Single Linked List Yuliana Setiowati, S.Kom.
Algoritma & Struktur Data Linked List Evangs Mailoa.
LINKED LIST by Yohana N.
Struktur Data List Linear : Linked List (Double Linkedlist)
Linear Data Structures (Linked List). Node Link atau pointer data field.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Pertemuan ketujuh Struktur data st3telkom.ac.id
Struktur Data List Linear : Linked List (Single Linkedlist)
LINKED LIST.
Struktur Data (Data Structure) – IS 2313
Apakah Stack itu ?. Apakah Stack itu ? Pengertian STACK Secara sederhana diartikan dengan : sebagai tumpukan dari benda sekumpulan data yang seolah-olah.
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Double linked list non circular
Struktur Data Linked List
STRUKTUR DATA (2) Single Linked List
STRUKTUR DATA Linked List Oleh : Yuli Praptomo PHS, S.Kom.
4. Linked List (List Linier)
LINKED LIST by Yohana N.
Single Linked List.
Defri Kurniawan ADT STACK Defri Kurniawan
12. Doubly Linear Linked List
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
Defri Kurniawan QUEUE DENGAN LIST Defri Kurniawan
Algoritma dan Struktur Data
2. Stack (Tumpukan) 2.1. Definisi
SUMMARY LINKED LIST.
Defri Kurniawan DOUBLE LINKED LIST Defri Kurniawan
Algoritma dan Struktur Data
11. Singly Circular Linked List
Struktur Data – Pertemuan 4 List Linier
MATAKULIAH : STRUKTUR DATA
Doubel Linked List.
Stack.
Algoritme dan Stuktur Data
STRUKTUR DATA (7) single linked list circular
Linked List 6.3 & 7.3 NESTED LOOP.
Stack.
Doubel Linked List.
Queue (Antrian).
Single Linked List Circular (SLLC)
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
LINKED LIST GANDA Linked list ganda (doubly linked list) adalah linked list yang setiap simpul-nya (node) memiliki dua buah pointer, masing-masing berada.
STACK (TUMPUKAN) Stack atau tumpukan didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan dan pengambilan elemen melalui.
LINKED LIST by Yohana N Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked-lis...
STRUKTUR DATA (8.2) double linked list circular
Double Linked List.
Linked List INSERT KANAN 6.3 & 7.3 NESTED LOOP.
Defri Kurniawan VARIASI LIST Defri Kurniawan
Linear Doubly Linked List
9 ALGORITMA PEMROGRAMAN DAN STRUKTUR DATA (LAB) OLEH :
Variable Static & Linked List
Defri Kurniawan STACK DENGAN LIST Defri Kurniawan
SINGLE LINKED LIST (SLL)
Transcript presentasi:

Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id DOUBLE LINKED LIST Defri Kurniawan defri.kurniawan@dsn.dinus.ac.id

Double Linked List Memiliki dua buah pointer yaitu Pointer Prev dan Pointer Next Pointer Prev mengarah ke node sebelumnya Pointer Next mengarah ke node setelahnya null Data Pointer Next Prev null

Double Linked List Setiap node pada linked list memiliki data dan pointer Inisialisasi, pointer prev dan pointer next mengarah ke NULL Selanjutnya, pointer prev mengarah ke node sebelumnya dan pointer next mengarah ke node setelahnya null 4 7 9

Double Linked List 1. Double Linked List dengan penunjuk First

Double Linked List 2. Double Linked List dengan menyertakan Last

Beberapa Catatan Dibutuhkan jika harus dilakukan banyak operasi terhadap elemen suksesor dan juga predesesor Operasi dasar menjadi sangat “banyak” Memori yang dibutuhkan membesar

Double Linked List Deklarasi Double Linked List Ciri: memiliki alamat prev dan next

Double Linked List Pendefinisian list kosong pada double linked list dengan menyertakan Last

Contoh Header Pembuatan DLL

Pengecekan List Kosong dengan Last boolean ListEmpty(List L) { return ((First(L)==Nil) && (Last(L)==Nil)); }

Pembuatan List void CreateList(List *L) { First(*L) = Nil; Last(*L) = Nil; }

Fungsi Alokasi address Alokasi(infotype X) { address P; P = (address)malloc(sizeof(ElmtList)); if(P!=Nil) { Info(P) = X; Next(P) = Nil; Prev(P) = Nil; }

Fungsi Dealokasi void Dealokasi(address *P) { free(*P); }

Diketahui header DLL dengan First & Last typedef int boolean; typedef struct Node *address; typedef struct Node { int data; address Next; address Prev; }Node; typedef struct { address First; address Last; }List;

Representasi Double Linked List Last L 115 110 120 4 7 9 L First 110 115 120

Pustaka DLL void createEmpty(List *L); boolean isEmpty(List *L); address infoHead(List *L); address infoTail(List *L); address alokasi(int databaru); void Dealokasi(address *P); void tambahDepan(List * L, int databaru); void tambahBelakang(List * L, int databaru); void printList(List *L); int NbList(List *L);

Tambah Depan void tambahDepan(List *L, int databaru){ address P; P=alokasi(databaru); if(P!=NULL){ if(isEmpty(L)==1){ L->First=P; L->Last=P; }else{ P->Next=L->First; L->First->Prev=P; } };

Tambah Belakang void tambahBelakang(List *L,int databaru){ address P; P=alokasi(databaru); if(P!=NULL){ if(isEmpty(L)==1){ L->First=P; L->Last=P; }else{ L->Last->Next=P; P->Prev=L->Last; } };

Hapus Depan void hapusDepan(List *L){ address P; P=L->First; if(isEmpty(L)==1){ printf("Hapus depan gagal - List kosong"); }else{ if((P->Prev==NULL)&&(P->Next==NULL)){ L->First=NULL; L->Last=NULL; Dealokasi(P); L->First=L->First->Next; L->First->Prev=NULL; } };

Tugas Perorangan Dengan menggunakan header dan pustaka yang telah didefinisikan. Buatlah prosedur tambahSetelah() dan hapusSetelah() Kirimkan melalui email defri.kurniawan@dsn.dinus.ac.id Paling lambat sebelum pertemuan selanjutnya Subject: Kelp_kelas-DLL-NIM Project di-zip/rar, pastikan program dapat berjalan / tidak ada yang error Tugas ini akan dimasukkan pada Tugas Praktek

TERIMA KASIH