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

 
 
 
 
