Daftar isi: [Hide]
Kali ini kita akan mencoba untuk membuat program double linked list dengan python dengan rinciannya, membuat program double linked list dengan python yang menggunakan minimum Variabel head, tail, next, dan prev dan Memiliki menu tambah depan, tambah belakang, tampilkan data, hapus depan, hapus belakang, dan tampilkan data ke-xx :
Sebelumnya juga saya sudah pernah share contoh program matrik 3×3 menggunakan python, mungkin anda juga tertarik untuk mencobanya bisa terlebih dahulu.
Contoh Program Double Linked List dengan python
Pertama silahkan buat file project baru pada kode editor favorite anda, lalu bisa copas kode berikut ini, untuk penjelasannya ada dibawahnya:
class Node:
def __init__(self, data):
self.data = data
self.next = None
self.prev = None
class DoublyLinkedList:
def __init__(self):
self.head = None
self.tail = None
def add_front(self, data):
new_node = Node(data)
if self.head is None:
self.head = new_node
self.tail = new_node
else:
new_node.next = self.head
self.head.prev = new_node
self.head = new_node
def add_back(self, data):
new_node = Node(data)
if self.tail is None:
self.head = new_node
self.tail = new_node
else:
new_node.prev = self.tail
self.tail.next = new_node
self.tail = new_node
def display(self):
if self.head is None:
print("List is empty")
else:
current = self.head
while current:
print(current.data)
current = current.next
def delete_front(self):
if self.head is None:
print("List is empty")
else:
if self.head == self.tail:
self.head = None
self.tail = None
else:
self.head = self.head.next
self.head.prev = None
def delete_back(self):
if self.tail is None:
print("List is empty")
else:
if self.head == self.tail:
self.head = None
self.tail = None
else:
self.tail = self.tail.prev
self.tail.next = None
def display_at_index(self, index):
if self.head is None:
print("List is empty")
else:
current = self.head
i = 0
while current:
if i == index:
print(current.data)
break
current = current.next
i += 1
if __name__ == '__main__':
dll = DoublyLinkedList()
while True:
print("\nMenu:")
print("1. Add to front")
print("2. Add to back")
print("3. Display list")
print("4. Delete from front")
print("5. Delete from back")
print("6. Display data at index")
print("7. Exit")
choice = int(input("Enter your choice: "))
if choice == 1:
data = int(input("Enter data: "))
dll.add_front(data)
elif choice == 2:
data = int(input("Enter data: "))
dll.add_back(data)
elif choice == 3:
dll.display()
elif choice == 4:
dll.delete_front()
elif choice == 5:
dll.delete_back()
elif choice == 6:
index = int(input("Enter index: "))
dll.display_at_index(index)
elif choice == 7:
break
else:
print("Invalid choice")
Penjelasan kode diatas :
Class Node: Class ini merepresentasikan setiap elemen dalam double linked list. Setiap objek Node memiliki tiga atribut, yaitu data untuk menyimpan data, next untuk menyimpan pointer ke node berikutnya, dan prev untuk menyimpan pointer ke node sebelumnya.
Class DoublyLinkedList: Class ini merepresentasikan double linked list secara keseluruhan. Class ini memiliki dua atribut, yaitu head untuk menyimpan pointer ke elemen pertama dalam list, dan tail untuk menyimpan pointer ke elemen terakhir dalam list
Selain itu pada class DoublyLinkedList ada beberapa method yang secara fungsi untuk memenuhi kebutuhan kodingan kita seperti untuk method menambah data depan, data belakang, detele data depan, delete data belakang, dan juga display data depan display data belakang.
Berikut hasil run dari kode program double linked list dengan python diatas :
Pertama silahkan anda run terlebih dahulu kodingan diatas, nanti akan muncul 7 menu yaitu add to front, add to back, display list, delete from front, delete from back, display at index, dan exit
Silahkan coba tambahkan data dari depan, dengan perintah 1 dan data dari belakang dengan perintah 2
diatas saya coba untuk mendambah data depan 1, 2, 3, dan lanjut data belakang 4,5, dan tambah data depan lagi dengan angka 6, hasil berurutannya menjadi 6, 3, 2, 1, 4, 5
Selanjutnya silahkan coba delete from front dengan opsi 3, nanti seharusnya yang terhapus adalah angka 6, lihat gambar diatas angka 6 sudah terhapus berarti work.
Berikutnya delete from back, dengan perintah opsi 5 nanti seharusnya data angka 5 juga akan terhapus seperti gamabr diatas.
Berikutnya adalah index data list, yaitu menampilkan data dari index tertentu, misalnya masih tersisa data 3, 2, 1 dan 4, ketika ingin display index 1 maka akan muncul angka 2, karena index dimulai dari 0-n.
Penutup
Nah demikianlah sedikit referensi mengenai Contoh Program Double Linked List dengan python dengan kondisi agar bisa menambahkan data depan, data belakangan, hapus data depan dan belakang, semoga membantu!