Implementasi Algoritma Linked List dalam Bahasa Pemrograman
Linked list merupakan struktur data yang terdiri dari node-node yang saling terhubung. Setiap node menyimpan data dan pointer ke node selanjutnya. Berikut ini adalah implementasi algoritma linked list dalam bahasa pemrograman C++, PHP dan Phyton .
1. Algoritma Linked List dalam C++
#include <iostream> using namespace std; struct Node { int data; Node* next; }; int main() { Node* head = NULL; // inisialisasi head dengan NULL // Menambahkan node baru di depan linked list Node* newNode = new Node(); newNode->data = 5; newNode->next = head; head = newNode; // Menambahkan node baru di belakang linked list Node* tail = head; while (tail->next != NULL) { tail = tail->next; } Node* newNode = new Node(); newNode->data = 10; newNode->next = NULL; tail->next = newNode; // Mencetak seluruh elemen linked list Node* current = head; while (current != NULL) { cout << current->data << " "; current = current->next; } return 0; }
2. Algoritma Linked List dalam PHP
Berikut ini adalah implementasi algoritma linked list dalam bahasa pemrograman PHP:class Node { public $data; public $next; public function __construct($data) { $this->data = $data; $this->next = NULL; } } class LinkedList { private $head; private $tail; public function __construct() { $this->head = NULL; $this->tail = NULL; } // Menambahkan node baru di depan linked list public function addToFront($data) { $newNode = new Node($data); $newNode->next = $this->head; $this->head = $newNode; if ($this->tail == NULL) { $this->tail = $newNode; } } // Menambahkan node baru di belakang linked list public function addToEnd($data) { $newNode = new Node($data); if ($this->tail != NULL) { $this->tail->next = $newNode; } $this->tail = $newNode; if ($this->head == NULL) { $this->head = $newNode; } } // Mencetak seluruh elemen linked list public function printList() { $current = $this->head; while ($current != NULL) { echo $current->data . " "; $current = $current->next; } } } $list = new LinkedList(); $list->addToFront(5); $list->addToFront(4); $list->addToFront(3); $list->addToEnd(6); $list->addToEnd(7); $list->printList();
3. Algoritma Linked List dalam Python
Berikut ini adalah implementasi algoritma linked list dalam bahasa pemrograman Python:class Node: def __init__(self, data): self.data = data self.next = None class LinkedList: def __init__(self): self.head = None self.tail = None # Menambahkan node baru di depan linked list def add_to_front(self, data): new_node = Node(data) new_node.next = self.head self.head = new_node if self.tail is None: self.tail = new_node # Menambahkan node baru di belakang linked list def add_to_end(self, data): new_node = Node(data) if self.tail is not None: self.tail.next = new_node self.tail = new_node if self.head is None: self.head = new_node # Mencetak seluruh elemen linked list def print_list(self): current = self.head while current is not None: print(current.data, end=" ") current = current.next list = LinkedList() list.add_to_front(5) list.add_to_front(4) list.add_to_front(3) list.add_to_end(6) list.add_to_end(7) list.print_list()