public void Unwind() { while (SmallerThanMedian.Size > 0) { Console.Write($"S:{SmallerThanMedian.RemoveHead()}, "); } while (BiggerThanMedian.Size > 0) { Console.Write($"B:{BiggerThanMedian.RemoveHead()}, "); } }
public void Add(int value) { if (SmallerThanMedian.Size == 0 || SmallerThanMedian.Head > value) { SmallerThanMedian.Insert(value); } else { BiggerThanMedian.Insert(value); } while (SmallerThanMedian.Size > BiggerThanMedian.Size + 1) { BiggerThanMedian.Insert(SmallerThanMedian.RemoveHead()); } while (BiggerThanMedian.Size > SmallerThanMedian.Size) { SmallerThanMedian.Insert(BiggerThanMedian.RemoveHead()); } Console.WriteLine($"SmallerThanMedian={SmallerThanMedian.Size} | BiggerThanMedian={BiggerThanMedian.Size}"); }