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()

