Implementasi Algoritma Linked List dalam Bahasa Pemrograman - Rumah IT - Rumah Teknologi Informasi
Trending
Loading...

1/03/2023

Implementasi Algoritma Linked List dalam Bahasa Pemrograman

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;
}

Dalam kode di atas, terdapat dua operasi dasar pada linked list, yaitu menambahkan node baru di depan atau di belakang list, dan mencetak seluruh elemen list. Anda juga dapat menambahkan operasi lain seperti menghapus node, mencari node tertentu, dan lain-lain.

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


Share with your friends

Give us your opinion

Notification
Welcome to Rumah IT . Please share this article to your favorite social media .
Done