@algorithm.ts/circular-queue v2.0.14
A typescript implementation of the Circular Queue data structure.
Circular queue is a queue structure, the main purpose of its design is to reuse space as much as possible on the basis of ordinary queues. Circular queues usually need to specify the maximum volume C of the collector. If the number of elements in the queue exceeds C, only the most recent C elements are kept in the queue. Other operations are the same as ordinary queues.
Install
npm
npm install --save @algorithm.ts/circular-queue
yarn
yarn add @algorithm.ts/circular-queue
deno
import { createCircularQueue } from 'https://raw.githubusercontent.com/guanghechen/algorithm.ts/main/packages/circular-queue/src/index.ts'
Usage
Basic:
import { createCircularQueue } from '@algorithm.ts/circular-queue' const queue = createCircularQueue<{ name: string }>() // Initialize the circular-queue with the maximum number of elements it can // be managed. queue.init(100) // Append a element to the end of the queue. queue.enqueue({ name: 'alice' }) // => 0 queue.enqueue({ name: 'bob' }) // => 1 queue.size() // => 2 // Get the front element of the queue. queue.front() // => { name: 'alice' } // Get the last element of the queue. queue.end() // => { name: 'bob' } // Take off the first element of the queue. queue.dequeue() // => { name: 'alice' } queue.size() // => 1 // Test if the queue is empty. queue.isEmpty() // => false queue.get(0) // undefined queue.get(0, true) // undefined queue.get(0, false) // { name: 'alice' } queue.get(1) // => { name: 'bob' } queue.get(1, true) // => { name: 'bob' } queue.get(1, false) // => { name: 'bob' }
Related
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago