Home Programming Contoh Program Double Linked List dengan python

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

Contoh Program Double Linked List dengan python tambah data depan
Contoh Program Double Linked List dengan python tambah data depan

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

Contoh Program Double Linked List dengan python delete data from front
Contoh Program Double Linked List dengan python delete data from front

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.

Contoh Program Double Linked List dengan python delete data from back
Contoh Program Double Linked List dengan python delete data from back

Berikutnya delete from back, dengan perintah opsi 5 nanti seharusnya data angka 5 juga akan terhapus seperti gamabr diatas.

Contoh Program Double Linked List dengan python display index
Contoh Program Double Linked List dengan python display index

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!

 

Leave a Reply

A+ A-
Blog Digitalkit

Live Search