摘要:
编程之美上的题目,具体忘记了,有一个队列,定义了push,pop,MaxElement三个函数,其中MaxElement要返回队列中最大的元素,第一次看这个题目就是遍历,每次MaxElement的时候遍历一遍队列,具体代码不写了,三个操作的开销为:1 push:O(1) 2 pop:O(1) 3 MaxElement:O(Length(que))于是换成另外一种方法,设置一个MaxVal,每次push与进入队列的元素进行比较,这样代码如下:(为了节省篇幅,利用了STL) 1 int main(void) 2 { 3 queue<int> que; 4 int MaxVal=-1; 阅读全文