Changed to a left leaning red black tree implementation
authorMatthew Parkinson <mattpark@microsoft.com>
Tue, 8 Mar 2016 11:09:44 +0000 (11:09 +0000)
committerMatthew Parkinson <mattpark@microsoft.com>
Tue, 8 Mar 2016 11:09:44 +0000 (11:09 +0000)
commit0190c5cd79add0b0d4605e19e80372480e9b963e
treeba163e1d3ee4ff95e5295e023f6b47b3ffae9302
parentc8e0c4975141f96c26767417f8e50923ba634108
Changed to a left leaning red black tree implementation

This change takes the algorithm as presented in Robert
Sedgewick's paper
[Left-leaning Red-Black Trees](http://www.cs.princeton.edu/~rs/talks/LLRB/LLRB.pdf)
and implements it in C#.  The implementation is a fairly
direct transliteration of the paper.

The code is integrated with the previous code's harness, but
little else remains.

If the DEBUG property is set, then it checks the invariants
of the tree are re-established after each insert and delete.

Commit migrated from https://github.com/dotnet/coreclr/commit/705b02f49968690b97558f34ad7bdb40b84ed36c
src/coreclr/tests/src/GC/Stress/Tests/RedBlackTree.cs