npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

hxstruct

v0.11.0

Published

Data Structures and Algorithms

Downloads

3

Readme

struct

General purpose data structures and algorithms.

Data Structures

  • [x] Dictionary
    • [x] Array Bag
    • [x] List Bag
    • [x] Array Stack
    • [x] List Stack
    • [x] Array Queue
    • [x] List Queue
  • [ ] Priority Queue
    • [x] Array Unordered Priority Queue
    • [ ] Array Ordered Priority Queue
    • [x] Binary Heap Priority Queue
    • [ ] N-ary Heap Priority Queue
    • [ ] Fibonacci Heap Priority Queue
  • [ ] Search Tree
    • [ ] List Unordered Symbol Table
    • [ ] Array Ordered Symbol Table
    • [x] Binary Search Tree
    • [ ] 2-3 Search Tree
      • [x] Left Leaning Red-Black Binary Search Tree
    • [ ] B Tree
    • [ ] B+ Tree
  • [ ] Hash Table
    • [ ] List Unordered Hash Table
    • [ ] Array Ordered Hash Table
    • [ ] Binary Search Tree Hash Table
    • [ ] Red-Black Binary Search Tree Hash Table
    • [x] Separate Chaining Hash Table
    • [x] Linear Probing Hash Table
  • [ ] Graph
    • [ ] Directed Matrix Graph
    • [ ] Undirected Matrix Graph
    • [x] Directed Adjacency Graph
    • [x] Undirected Adjacency Graph
    • [ ] Directed Edged Graph
    • [ ] Undirected Edged Graph
    • [ ] Flow Capacity Graph

Algorithms

  • [ ] Sort
    • [x] Array Comparator Network Sort
    • [x] Array Bubble Sort
    • [x] Array Selection Sort
    • [x] Array Insertion Sort
    • [x] Array Shell Sort
    • [X] Array Merge Sort
      • [x] Array Bottom Up Merge Sort
    • [x] Array Quick Sort
      • [x] Array Three Way Quick Sort
    • [ ] Binary Heap Sort
  • [x] Shuffle
    • [x] Sort Shuffle
    • [x] Knuth Shuffle
  • [ ] Select
    • [x] Array Quick Select
    • [ ] Array Binary Search
  • [ ] Graph Operations
    • [x] Depth First Search
    • [x] Breadth First Search
    • [x] Connected Components
    • [ ] Strongly Connected Components
    • [ ] Bipartite Components
    • [ ] Cyclic Components
    • [ ] Euler Tour
      • Visit each edge once
    • [x] Topological Sort
  • [ ] Graph Minimum Spanning Tree
    • [ ] Lazy Prim's Minimum Spanning Tree
    • [ ] Eager Prim's Minimum Spanning Tree
    • [ ] Kruskal's Minimum Spanning Tree
    • [ ] Euclidean Minimum Spanning Tree
  • [ ] Graph Shortest Path
    • [ ] Dijkstra's Shortest Path
      • Non-negative weights
    • [ ] Bellman-Ford Shortest Path
      • No negative cycles
    • [ ] Topological Sort Shortest Path
      • No directed cycles
  • [ ] Graph Flow
    • [ ] Ford-Fulkerson Maximum Flow

Tests

Run the unit tests using Massive Unit.

haxelib run munit test

If you wish to run tests against just one target, say Javascript, simply add the target name to the end, like so:

haxelib run munit test -js

You can find the full list of available platforms in test.hxml, which is the configuration file used by the Haxe compiler when running Massive Unit.

If you wish to run tests against the C++ target, you will need to install HXCPP first.

haxelib install hxcpp
haxelib run munit test -cpp

Cross Platform

This library is written in Haxe, which transpiles or compiles to many target languages and platforms. Therefore, this library is cross platform, and can be built and compiled/linked/required/imported into many varied projects.

As the author of this project, I cannot take credit for that, and instead it goes to the amazing technology under the hood of Haxe. If you think that is cool why not give Haxe a go?

Author

Brendan Graetz

Licence

GPL-3.0