mf-miko/sorted-linked-list

A simple type-safe sorted singly linked list for int or string values in PHP.

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/mf-miko/sorted-linked-list

1.0.0 2025-05-25 14:17 UTC

This package is not auto-updated.

Last update: 2025-12-08 15:05:42 UTC


README

A simple, type-safe, sorted singly linked list implementation in PHP supporting int or string values — but not both in the same list.

Features

  • Maintains ascending order on every insertion.
  • Enforces single scalar type (int or string) throughout the list.
  • Supports common list operations:
    • insert()
    • delete()
    • deleteAllOf()
    • find()
    • exists()
    • clear()
    • toArray()

Installation

You can include this class in your project via Composer:

composer require mf-miko/sorted-linked-list

Usage

use Miko\SortedLinkedList\SortedLinkedList;

$list = new SortedLinkedList();
$list->insert(10);
$list->insert(5);
$list->insert(20);

print_r($list->toArray()); // [5, 10, 20]

$list->delete(10);
print_r($list->toArray()); // [5, 20]

echo $list->exists(5); // true

$list->clear();

Type enforcement

First value inserted determines type accepted by particular instance of SortedLinkedList. Any future insert of a mismatched type will throw InvalidArgumentException. Function clear() resets the type enforcement.

$list = new SortedLinkedList();
$list->insert("apple");     // OK
$list->insert("banana");    // OK
$list->insert(42);          // ❌ InvalidArgumentException