Skip to content
/ deque Public

A deque implemented as an array blocked doubly linked list

License

Notifications You must be signed in to change notification settings

alg-js/deque

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@alg/deque

JSR API License

A deque implemented as an array blocked doubly linked list.

Install

deno add jsr:@alg/deque

Example

import {deque} from "@alg/queues";

const q = deque(["I", "J"]);  // or new Deque();
q.pushFront("L");
q.pushBack("R");
q.pushAllBack(["X", "Y", "Z"]);
q.pushAllFront(["A", "B", "C"]);
console.log(q.size());  // 10
console.log(q.popBack());  // "Z"
console.log(q.popFront());  // "C"
console.log(q.peekBack());  // "Y"
console.log(q.peekFront());  // "B"
q.pushBack(q.popFront());  // Look, ma! O(1) rotate!
console.log([...q]);  // ["A", "L", "I", "J", "R", "X", "Y", "B"]

About

A deque implemented as an array blocked doubly linked list

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published