public double FindMedian() { if (_minIntHeap.GetSize() == 0 && _maxIntHeap.GetSize() == 0) { return(0); } if (_minIntHeap.GetSize() == _maxIntHeap.GetSize()) { return(((double)_minIntHeap.Peek() + _maxIntHeap.Peek()) / 2); } else if (_minIntHeap.GetSize() > _maxIntHeap.GetSize()) { return(_minIntHeap.Peek()); } else { return(_minIntHeap.Peek()); } }
public int Add(int val) { AddImpl(val); return(_heap.Peek()); }