Socket
Socket
Sign inDemoInstall

tsc-struct

Package Overview
Dependencies
1
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    tsc-struct

Data Structures in TypeScript


Version published
Weekly downloads
8
Maintainers
1
Install size
90.5 kB
Created
Weekly downloads
 

Readme

Source

Data Structures in TypeScript

GitHub package.json version Build Status Coverage License

tsc-struct is a package that provides strongly typed data structures such as HashTable<T>, LinkedList<T>, Queue<T>, and Stack<T>.

Installation

npm install tsc-struct

Usage

import { LinkedList } from 'tsc-struct';

const list: LinkedList<number> = new LinkedList<number>([1, 2, 3]);

console.log(list.contains(1)); // -> true
console.log(list.contains(4)); // -> false

list.addLast(4);

console.log(list.toArray()); // -> [1, 2, 3, 4]

list.reverse();

console.log(list.toArray()); // -> [4, 3, 2, 1]

HashTable

Represents a hash table, where T specifies the element type of the hash table.

MethodDescription
constructor()Initialize a new instance of the HashTable<T> class
constructor(sizes: number)Initialize a new instance of the HashTable<T> class
contains(key: string)Determines whether a value is in the HashTable<T>
add(key: string, value: T)Adds a new value to the HashTable<T>
get(key: T)Gets the value from the HashTable<T>
remove(key: string)Removes the value from the HashTable<T>
getLength()Get the length of the HashTable<T>

LinkedList

Represents a singly linked list, where T specifies the element type of the linked list.

MethodDescription
constructor()Initializes a new instance of the LinkedList<T> class
constructor(values: Array<T>)Initializes a new instance of the LinkedList<T> class
addFirst(value: T)Adds a new node at the start of the LinkedList<T>
addLast(value: T)Adds a new node at the end of the LinkedList<T>
contains(value: T)Determines whether a value is in the LinkedList<T>
find(value: T)Finds the first node that contains the specified value
findLast(value: T)Finds the last node that contains the specified value
remove(value: T)Removes all occurrences of the specified value from the LinkedList<T>
removeHead()Removes the node at the start of the LinkedList<T>
removeTail()Removes the node at the end of the LinkedList<T>
reverse()Reverses the order of the nodes in the LinkedList<T>
toArray()Returns an array of all values

Queue

Represents a first-in-first-out (FIFO) collection of instances of the same specified type.

MethodDescription
constructor()Initialize a new instance of the Queue<T> class
constructor(values: Array<T>)Initialize a new instance of the Queue<T> class
contains(value: T)Determines whether a value is in the Queue<T>
dequeue()Removes and returns the value from the start of the Queue<T>
enqeue()Adds the value at the end of the Queue<T>
peek()Returns the value from the start of the Queue<T>
toArray()Returns an array of all values

Stack

Represents a variable size last-in-first-out (LIFO) collection of instances of the same specified type.

MethodDescription
constructor()Initialize a new instance of the Stack<T> class
constructor(values: Array<T>)Initialize a new instance of the Stack<T> class
contains(value: T)Determines whether a value is in the Stack<T>
peek()Returns the value from the start of the Stack<T>
pop()Removes and returns the value from the start of the Stack<T>
push(value: T)Adds the value at the start of the Stack<T>
toArray()Returns an array of all values

License

This is an open-source project licensed under the MIT Lisense.

Keywords

FAQs

Last updated on 21 Mar 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc