题目描述
如果从数据流中读出奇数个数值,我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。
利用两个堆,一个最大堆,一个最小堆。
注意:
正常函数,如 sort() 等,若用 less<> 则会按照从小到大排序,因为返回 true 的在前,谁小谁在前,这里是这样理解的,如果是最大堆,那么要 less 返回 true 的执行 ,即小的插入到堆中。所以这里用 less 的为最大堆。
如果从数据流中读出奇数个数值,我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。
利用两个堆,一个最大堆,一个最小堆。
注意:
正常函数,如 sort() 等,若用 less<> 则会按照从小到大排序,因为返回 true 的在前,谁小谁在前,这里是这样理解的,如果是最大堆,那么要 less 返回 true 的执行 ,即小的插入到堆中。所以这里用 less 的为最大堆。