示例#1
0
        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());
            }
        }
示例#2
0
 public int Add(int val)
 {
     AddImpl(val);
     return(_heap.Peek());
 }