PommaLabs.Hippie 3.1.0

.NET 6.0 .NET Core 3.1 .NET Framework 4.5.2
This package has a SemVer 2.0.0 package version: 3.1.0+78d5873.
NuGet\Install-Package PommaLabs.Hippie -Version 3.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
dotnet add package PommaLabs.Hippie --version 3.1.0
<PackageReference Include="PommaLabs.Hippie" Version="3.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PommaLabs.Hippie --version 3.1.0
#r "nuget: PommaLabs.Hippie, 3.1.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install PommaLabs.Hippie as a Cake Addin
#addin nuget:?package=PommaLabs.Hippie&version=3.1.0

// Install PommaLabs.Hippie as a Cake Tool
#tool nuget:?package=PommaLabs.Hippie&version=3.1.0


License: MIT Donate Docs NuGet version NuGet downloads

standard-readme compliant GitLab pipeline status Quality gate Code coverage Renovate enabled

Fully managed library providing five types of heap.

Currently implemented heaps are:

Table of Contents


NuGet package PommaLabs.Hippie is available for download:

dotnet add package PommaLabs.Hippie


For example, using this library you can write a very simple heap sort in this way:

T[] HeapSort<T>(IEnumerable<T> elems) where T : IComparable<T>
    var heap = HeapFactory.NewBinaryHeap<T>();
    foreach (var elem in elems) {
    var orderedElems = new T[heap.Count];
    for (var i = 0; heap.Count > 0; ++i) {
        orderedElems[i] = heap.RemoveMin();
    return orderedElems;

Please check project samples to find out what you can do with this library.




PRs accepted.

Small note: If editing the README, please conform to the standard-readme specification.


MIT © 2012-2021 Alessio Parma

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp3.1
.NET Framework net452 net46 net461 net462 net463 net47 net471 net472 net48
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.
  • .NETFramework 4.5.2

    • No dependencies.
  • .NETFramework 4.6.1

    • No dependencies.
  • .NETFramework 4.7.2

    • No dependencies.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.1.0 1,316 11/28/2021
3.0.1 563 12/6/2020
3.0.0 306 8/23/2020