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
Requires
- php: ^8.0
Requires (Dev)
- phpunit/phpunit: ^10
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 (
intorstring) 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