PommaLabs.Hippie 3.2.0

The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org. Prefix Reserved
This package has a SemVer 2.0.0 package version: 3.2.0+e65bf64f.
dotnet add package PommaLabs.Hippie --version 3.2.0
NuGet\Install-Package PommaLabs.Hippie -Version 3.2.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.
<PackageReference Include="PommaLabs.Hippie" Version="3.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PommaLabs.Hippie --version 3.2.0
#r "nuget: PommaLabs.Hippie, 3.2.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. 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.2.0

// Install PommaLabs.Hippie as a Cake Tool
#tool nuget:?package=PommaLabs.Hippie&version=3.2.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.

Library is feature complete and no further development is planned on this project, except for routine maintenance and bug fixes.

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 examples to find out what you can do with this library.




MRs accepted.

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


Visual Studio Code, with Remote Containers extension, is the recommended way to work on this project.

A development container has been configured with all required tools.

Visual Studio Community is also supported and an updated solution file, hippie.sln, has been provided.

Restoring dependencies

When opening the development container, dependencies should be automatically restored.

Anyway, dependencies can be restored with following command:

dotnet restore

Running tests

Tests can be run with following command:

dotnet test

Tests can also be run with following command, which collects coverage information:

./build.sh --target run-tests


MIT © 2012-2023 PommaLabs Team and Contributors

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.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.2.0 323 11/24/2023
3.1.1 148 11/19/2022
3.1.0 1,847 11/28/2021
3.0.1 1,071 12/6/2020
3.0.0 864 8/23/2020