blister/php-linkedlist

A speedy DoubleLinkedList data structure implementation.

Installs: 4

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 6

pkg:composer/blister/php-linkedlist

0.1.0 2023-08-14 15:16 UTC

This package is auto-updated.

Last update: 2025-12-14 22:02:52 UTC


README

Build Status

A speedy LinkedList and DoubleLinkedList data structure implementation in PHP.

Installation

composer require blister/linkedlist

Usage

$list = new Blister\LinkedList();

// Add to the end of the LinkedList
$list->push('Hello!');
$list->push('World!');
$list->push(array('key' => 'val'));
$list->push(true);
$list->push('Last!');

// Add to the front of the LinkedList
$list->unshift('New First!');


// Get the length of the LinkedList
$len = $list->length; // 6

// Searching inside the list
$found_index = $list->index('World!'); // 2
$found = $list->find('World');         // true
$found = $list->find('Missing');       // false

// removing elements
$last   = $list->pop();            // 'Last!' 
$first  = $list->shift();          // 'First!'
$middle = $list->remove('World!'); // 'World!'
$third  = $list->removeAt(1);      // array('key' => 'val')

Tests

This LinkedList implementation comes with a full suite of PHPUnit tests.

composer run-script test

Future

  • toArray():array
  • findAll(mixed $needle):array
  • fill(int $count, mixed $value):bool
  • findFromTail(mixed $needle):mixed
  • indexFromTail(mixed $needle):int
  • print():void

Author

Eric Ryan Harrison, @blister