5cc13fcd27e7ea86e3bf504d5b5e3a110665b85d
4 export class Queue
<T
> {
5 private items
: Record
<number, T
>
15 enqueue (item
: T
): number {
16 this.items
[this.tail
] = item
21 dequeue (): T
| undefined {
22 if (this.size() <= 0) return undefined
23 const item
= this.items
[this.head
]
24 // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
25 delete this.items
[this.head
]
27 if (this.head
=== this.tail
) {
35 return this.tail
- this.head