Linked List DELETE TENGAH 6.3 & 7.3 NESTED LOOP.

Slides:



Advertisements
Presentasi serupa
Menempatkan Pointer Q 6.3 & 7.3 NESTED LOOP.
Advertisements

STRUKTUR DATA (7) single linked list circular
MODUL KULIAH STRUKTUR DATA TANGGAL REVISI TANGGAL BERLAKU KODE DOKUMEN :::::: September Session 8 Edited By Al-Bahra. L.B, S. Kom, M.
Linked List BEBERAPA CONTOH SOAL 6.3 & 7.3 NESTED LOOP.
LINKED LIST (List linier)
LINKED LIST.
Linked List Pembuatan Simpul Awal.
LINK LIST Latifah Rifani.
Struktur Data Departemen Ilmu Komputer FMIPA-IPB 2010
SENARAI BERANTAI TUNGGAL
Soal-Soal Latihan Mandiri
Single Linked List Yuliana Setiowati, S.Kom.
BY YOHANA N Sumber Kepustakaan : yohananugraheni.files.wordpress.com/.../linked- lis... 1 LINKED LIST.
Linked List DELETE 6.3 & 7.3 NESTED LOOP.
LINKED LIST by Yohana N.
Double Ended QUEUE (DeQue) 6.3 & 7.3 NESTED LOOP.
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
Algorithm and Data Structures.
Pertemuan ketujuh Struktur data st3telkom.ac.id
Linear List.
LINKED LIST.
Linked List.
STACK.
1 Pertemuan 3 Data Komposit Linked list Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
Pertemuan Linked list jual [Valdo] Lunatik Chubby Stylus.
Algoritma dan Struktur Data
Struktur Data List Berkait (Delete).
MATAKULIAH : STRUKTUR DATA
Bocoran Soal 6.3 & 7.3 NESTED LOOP UTS.
Universitas Budi Luhur
SENARAI BERANTAI TUNGGAL
Tim struktur data IF UNIKOM
8. Singly Linear Linked List
LINKED LIST by Yohana N.
12. Doubly Linear Linked List
Tim struktur data IF UNIKOM
BAB 5 TREE (Pohon) 179.
Double Linked List.
SUMMARY LINKED LIST.
Defri Kurniawan DOUBLE LINKED LIST Defri Kurniawan
Algoritma dan Struktur Data
11. Singly Circular Linked List
Linked List BEBERAPA CONTOH SOAL 6.3 & 7.3 NESTED LOOP.
Linked List DELETE 6.3 & 7.3 NESTED LOOP.
Linked List Eko Riyanto.
MATAKULIAH : STRUKTUR DATA
LINKED LIST Oleh: Tim Algoritma & Pemrograman IF Double Linked List.
Linked List INSERT KIRI 6.3 & 7.3 NESTED LOOP.
Linked List 6.3 & 7.3 NESTED LOOP.
Tim struktur data IF UNIKOM
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 LINKED LIST
Linked List INSERT KANAN 6.3 & 7.3 NESTED LOOP.
Tim struktur data IF UNIKOM
DEQUE Deque (Deck atau Dequeue) adalah suatu list linier atau linier list, yang penambahan dan penghapusan elemennya dapat dilakukan pada kedua sisi ujung.
Defri Kurniawan VARIASI LIST Defri Kurniawan
Linear Doubly INSERT KIRI
Linear Doubly INSERT TENGAH
Linear Doubly Linked List
LINKED LIST (SENARAI BERANTAI)
LINKED LIST MELINGKAR Linked List melingkar (circular) adalah linked list linier biasa dimana pointer pada node terakhir diarahkan kembali ke node pertama.
Tim struktur data IF UNIKOM
LINKED LIST Oleh: Tim Algoritma & Pemrograman IF Double Linked List.
SINGLE LINKED LIST (SLL)
Transcript presentasi:

Linked List DELETE TENGAH 6.3 & 7.3 NESTED LOOP

Menghapus simpul yang berada diantara dua buah simpul DELETE TENGAH Menghapus simpul yang berada diantara dua buah simpul

Q INFO LINK INFO LINK INFO LINK 22 14 20 . . . . . . . . (7) (8) (9) Sudah ada Linear Singly Linked List. Jumlah simpul lebih dari 10. Simpul pertama ada diujung paling kiri, ditunjuk oleh pointer FIRST, dan simpul terakhir ada diujung paling kanan dan ditunjuk oleh pointer LAST. Link ssimpul terakhir nilainya NULL. Bila simpul (7) sudah ditunjuk oleh pointer Q, maka susun algoritma untuk menghapus simpul no (8) sedemikian rupa sehingga simpul no (7) terhubung dengan simpul no (9), sebagai ilustrasi berikut : Q INFO LINK INFO LINK 22 20 . . . . . . . . (7) (9) (8)

Q INFO LINK INFO LINK INFO LINK 22 14 20 . . . . . . . . (7) (8) (9) Dalam keadaan seperti ini simpul no (8) dapat dihapus atau diDELETE dengan instruksi : ? free( . . . . . . . . ) Sehingga hasilnya menjadi : Q INFO LINK INFO LINK 22 20 . . . . . . . . (7) (9) (8)

free( Q->LINK ); Q 22 14 20 . . . . . . . . (7) (8) (9) INFO LINK INFO LINK INFO LINK 22 14 20 . . . . . . . . (7) (8) (9) Dalam keadaan seperti ini simpul no (8) dapat dihapus atau diDELETE dengan instruksi : free( Q->LINK ); Sehingga hasilnya menjadi : Q INFO LINK INFO LINK 22 20 . . . . . . . . (7) (9) (8)

Q INFO LINK INFO LINK 22 20 . . . . . . . . (7) (8) Dalam keadaan seperti ini untuk menghubungkan simpul (7) dengen simpul (8) atau dengan perkataan lain , agar Q->LINK menunjuk simpul (8) dapat dilakukan dengan instruksi : Q->LINK = . . . . . . . ; Sehingga hasilnya menjadi : Q INFO LINK INFO LINK 22 20 . . . . . . . . (7) (9) (8)

Q INFO LINK INFO LINK 22 20 . . . . . . . . (7) (8) Dalam keadaan seperti ini untuk menghubungkan simpul (7) dengen simpul (8) atau dengan perkataan lain , agar Q->LINK menunjuk simpul (8) dapat dilakukan dengan instruksi : Q->LINK = . . . . . . . ; Q->LINK Tidak dapat menunjuk simpul (8) karena tidak ada pointer yang sedang menunjuk simpul (8) Sehingga menghapus simpul TENGAH gagal

Q LINK LINK LINK INFO INFO INFO 22 14 20 . . . . . . . . (7) (8) (9) Bagaimana kalau simpul (7) dihubungkan lebih dulu dengan simpul (9) , kemudian mengapus simpul (8) sebagai ilustrasi berikut ? Q LINK LINK LINK INFO INFO INFO 22 14 20 . . . . . . . . (7) (8) (9) Q LINK LINK INFO INFO 22 20 . . . . . . . . (7) (9) (8)

Q LINK LINK LINK INFO INFO INFO 22 14 20 . . . . . . . . (7) (8) (9) Dalam keadaan seperti ini, untuk menghubungkan simpul (7) dengan simpul (9), dengan perkataan lain agar Q->LINK menunjuk simpul (9), tidak lagi menunjuk simpul (8) sehingga ilustrasinya menjadi sebagai berikut: Q LINK LINK LINK INFO INFO INFO 22 14 20 . . . . . . . . (7) (8) (9) Dapat dilakukan dengan instruksi : ? Q->LINK = . . . . . . . . ;

Q->LINK = Q->LINK->LINK ; INFO INFO INFO 22 14 20 . . . . . . . . (7) (8) (9) Dalam keadaan seperti ini, untuk menghubungkan simpul (7) dengan simpul (9), dengan perkataan lain agar Q->LINK menunjuk simpul (9), tidak lagi menunjuk simpul (8) sehingga ilustrasinya menjadi sebagai berikut: Q LINK LINK LINK INFO INFO INFO 22 14 20 . . . . . . . . (7) (8) (9) Dapat dilakukan dengan instruksi : Q->LINK = Q->LINK->LINK ;

Q LINK LINK LINK INFO INFO INFO 22 14 20 . . . . . . . . (7) (8) (9) Dalam keadaan seperti ini, untuk menghapus atau menDELETE simpul no(8), sehingga ilustrasinya menjadi sebagai berikut: Q LINK LINK INFO INFO 22 20 . . . . . . . . (7) (9) (8) Dapat dilakukan dengan instruksi : ? free( . . . . . . .) ;

Sehingga DELETE TENGAH tidak dapat dilakukan dengan cara seperti ini Q LINK LINK LINK INFO INFO INFO 22 14 20 . . . . . . . . (7) (8) (9) Dalam keadaan seperti ini, simpul (8) tidak dapat dihapus atau diDELETE karena tidak ada pointer yang menunjuk simpul (8) Sehingga DELETE TENGAH tidak dapat dilakukan dengan cara seperti ini Sehingga diperlukan cara lain

Bisa menghapus simpul (8), Q KESIMPULAN-1: INFO LINK INFO LINK INFO LINK 22 14 20 . . . . . . . . (7) (8) (9) Q INFO LINK INFO LINK 22 20 . . . . . . . . (7) (9) (8) Dengan Cara-1. Bisa menghapus simpul (8), Tapi tidak bisa menghubungkan simpul (7) dan simpul (9)

Bisa menghubungkan simpul (7) dan simpul (9), Q KESIMPULAN-2: INFO LINK INFO LINK INFO LINK 22 14 20 . . . . . . . . (7) (8) (9) Q LINK LINK LINK INFO INFO INFO 22 14 20 . . . . . . . . (7) (8) (9) Dengan Cara-2. Bisa menghubungkan simpul (7) dan simpul (9), Tapi tidak bisa menghapus simpul (8)

DIPERLUKAN CARA LAIN

Cara-1. R = . . . . . ; free(. . . . . . ); Q->LINK = . . . . . ; Pertama, menempatkan pointer baru misal pointer R di simpul (9) Dengan instruksi : Q R LINK LINK LINK INFO INFO INFO 22 14 20 . . . . . . . . (7) (8) (9) R = . . . . . ; Q R Kedua, Menghapus simpul (8) dengan instruksi : LINK LINK INFO INFO 22 20 . . . . . . . . (7) (8) free(. . . . . . ); (9) Ketiga, Menghubungkan simpul (7) dengan simpul (9) dengan instruksi : Q R LINK LINK INFO INFO 22 20 . . . . . . . . (7) (9) Q->LINK = . . . . . ;

R = Q->LINK->LINK; Cara-1. Pertama, menempatkan pointer baru misal pointer R di simpul (9) Dengan instruksi : Q R LINK LINK LINK INFO INFO INFO 22 14 20 . . . . . . . . (7) (8) (9) R = Q->LINK->LINK; Q R Kedua, Menghapus simpul (8) dengan instruksi : LINK LINK INFO INFO 22 20 . . . . . . . . (7) (8) free(Q->LINK); (9) Ketiga, Menghubungkan simpul (7) dengan simpul (9) dengan instruksi : Q R LINK LINK INFO INFO 22 20 . . . . . . . . (7) (9) Q->LINK = R;

Cara-2. R = . . . . . ; Q->LINK = . . . . ; free ( . . . . . ); Pertama, menempatkan pointer baru misal pointer R di simpul (8) Dengan instruksi : Q R LINK LINK LINK INFO INFO INFO 22 14 20 . . . . (7) (8) (9) R = . . . . . ; Q R Kedua, Menghubungkan simpul(7) dengan simpul (9) dengan instruksi : LINK LINK LINK INFO INFO INFO 22 14 20 . . . . Q->LINK = . . . . ; (7) (8) (9) Ketiga, Menghapus simpul (8) dengan instruksi : Q R LINK LINK INFO INFO 22 20 . . . . (7) (9) free ( . . . . . );

Q->LINK = R->LINK; Cara-2. Pertama, menempatkan pointer baru misal pointer R di simpul (8) Dengan instruksi : Q R LINK LINK LINK INFO INFO INFO 22 14 20 . . . . (7) (8) (9) R = Q->LINK; Q R Kedua, Menghubungkan simpul(7) dengan simpul (9) dengan instruksi : LINK LINK LINK INFO INFO INFO 22 14 20 . . . . Q->LINK = R->LINK; (7) (8) (9) Ketiga, Menghapus simpul (8) dengan instruksi : Q R LINK LINK INFO INFO 22 20 . . . . (7) (9) free ( R );