# A TypeScript-First Standard Template Library (STL) for Data Structures & Algorithms

<p align="center">
  <a href="https://github.com/sshuvoo/javascript-stl/blob/master/LICENSE">
    <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="STL Kit is released under the MIT license." />
  </a>
  <a href="https://www.npmjs.org/package/stl-kit">
    <img src="https://img.shields.io/npm/v/stl-kit?color=brightgreen&label=npm%20package" alt="Current npm package version." />
  </a>
  <a href="https://github.com/sshuvoo/javascript-stl/pulls">
    <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs welcome!" />
  </a>
</p>

A modern JavaScript & TypeScript standard template library (STL) for data structures and algorithms. Includes high-performance implementations of Stack, Queue, Deque, Linked List, Vector, Set, Map, Tree, Heap, and Graph — inspired by C++ STL. Designed for performance, reusability, and clean, type-safe APIs.

---

## Table of Contents

- [Installation](#installation)
- [Usage](#usage)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [License](#license)

---

## Installation

```sh
# Using npm
npm install stl-kit
# Using yarn
yarn add stl-kit
# Using pnpm
pnpm add stl-kit
```

---

## Usage

Import the desired data structure:

```ts
// Using ES6 import
import { LinkedList } from 'stl-kit'
// Using CommonJS require
const { LinkedList } = require('stl-kit')
```

---

## Documentation

Full documentation for each data structure and API is available below:

- [LinkedList Documentation](./docs/linked-list.md)
- [Stack Documentation](./docs/stack.md)
- [Queue Documentation](./docs/queue.md)
- [Deque Documentation](./docs/deque.md)
- [Vector Documentation](./docs/vector.md)

Each file contains detailed usage, API reference, and examples for the respective data structure.

## Contributing

Contributions, issues, and feature requests are welcome!
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

---

## License

[MIT](LICENSE)

---

## Coming Soon

- More algorithms and utilities!

---

> **Note:** This library is under active development. API may change as new features are added.
