Implementasi Algoritma Linked List dalam Bahasa Pemrograman - Rumah IT

Baru

recent

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


All Rights Reserved by Rumah IT - Rumah Teknologi Informasi © 2013 - 2022
Powered By Blogger

Contact Form

Name

Email *

Message *

Powered by Blogger.