2-Linked List Implementation
1. Jenis - Jenis Linked List
-Single Linked List
Linked List yang setiap nodenya hanya memiliki satu pointer, yaitu *next.
-Polynomial Representation
Setiap istilah individual di dalam polinomial terdiri dari dua bagian, yaitu koefisien dan pangkat, setiap istilah dapat diwakili sebagai node dari Linked List
-Circular Single Linked List
Linked List yang tidak memiliki ujung atau seperti sirkuit, yang berarti tail akan kembali menunjuk head.
-Double Linked List
Linked List yang setiap nodenya memiliki dua pointer, yaitu*prev dan *next.
-Circular Double Linked List
Sama halnya dengan "Circular Single Linked List", yang membedakannya adalah setiap node memiliki dua pointer sehingga tail dapat menunjuk head dan begitu juga sebaliknya.
-Header Linked List
Linked List yang diawali dengan node header, sehingga header dimulai dengan tidak menunjuk node, tetapi akan berisi alamat dari node header.
2. Single Linked List
Contoh code dari Single Linked List adalah sebagai berikut:
Jika kita ingin menambah data baru, berarti kita harus membuat alokasi data secara dinamis pada node baru dan menetapkan nilainya dan hubungkan dengan list yang ada.
Jadi dapat digambarkan seperti ini:
a. Penambahan data
Penambahan data pada single linked list dapat dilakukan dengan beberapa cara sebagai berikut:
- Penambahan node baru di depan (head)
- Penambahan node baru di belakang (tail)
- Penambahan node setelah node tertentu
- Penambahan node sebelum node tertentu
Ilustrasi penambahan data adalah sebagai berikut:
b. Penghapusan data
Ada dua kemungkinan ketika kita hendak menghapus list, yaitu:
- ketika data ada di head
- ketika data tidak ada di head
3. Double Linked List
Contoh code double linked list adalah sebagai berikut:
Jika kita ingin menambah data baru, berarti kita harus membuat alokasi data secara dinamis pada node baru dan menetapkan nilainya dan hubungkan dengan list yang ada.
a. Penambahan data
Contoh code penambahan data double linked list adalah sebagai berikut:
b. Penghapusan data
Ada beberapa kondisi penghapusan data, yaitu:
- data yang akan dihapus adalah satu-satunya data yang ada di list
- data yang akan dihapus adalah head
- data yang akan dihapus adalah tail
- data yang akan dihapus bukan sebagai head atau tail
-Single Linked List
Linked List yang setiap nodenya hanya memiliki satu pointer, yaitu *next.
-Polynomial Representation
Setiap istilah individual di dalam polinomial terdiri dari dua bagian, yaitu koefisien dan pangkat, setiap istilah dapat diwakili sebagai node dari Linked List
-Circular Single Linked List
Linked List yang tidak memiliki ujung atau seperti sirkuit, yang berarti tail akan kembali menunjuk head.
-Double Linked List
Linked List yang setiap nodenya memiliki dua pointer, yaitu*prev dan *next.
-Circular Double Linked List
Sama halnya dengan "Circular Single Linked List", yang membedakannya adalah setiap node memiliki dua pointer sehingga tail dapat menunjuk head dan begitu juga sebaliknya.
-Header Linked List
Linked List yang diawali dengan node header, sehingga header dimulai dengan tidak menunjuk node, tetapi akan berisi alamat dari node header.
2. Single Linked List
Contoh code dari Single Linked List adalah sebagai berikut:
Jika kita ingin menambah data baru, berarti kita harus membuat alokasi data secara dinamis pada node baru dan menetapkan nilainya dan hubungkan dengan list yang ada.
Jadi dapat digambarkan seperti ini:
a. Penambahan data
Penambahan data pada single linked list dapat dilakukan dengan beberapa cara sebagai berikut:
- Penambahan node baru di depan (head)
- Penambahan node baru di belakang (tail)
- Penambahan node setelah node tertentu
- Penambahan node sebelum node tertentu
Ilustrasi penambahan data adalah sebagai berikut:
b. Penghapusan data
Ada dua kemungkinan ketika kita hendak menghapus list, yaitu:
- ketika data ada di head
- ketika data tidak ada di head
3. Double Linked List
Contoh code double linked list adalah sebagai berikut:
Jika kita ingin menambah data baru, berarti kita harus membuat alokasi data secara dinamis pada node baru dan menetapkan nilainya dan hubungkan dengan list yang ada.
a. Penambahan data
Contoh code penambahan data double linked list adalah sebagai berikut:
b. Penghapusan data
Ada beberapa kondisi penghapusan data, yaitu:
- data yang akan dihapus adalah satu-satunya data yang ada di list
- data yang akan dihapus adalah head
- data yang akan dihapus adalah tail
- data yang akan dihapus bukan sebagai head atau tail
Comments
Post a Comment