如何在一个队列中查找最大值 |
您所在的位置:网站首页 › 查找最大值函数怎么求的 › 如何在一个队列中查找最大值 |
编程之美上的题目,具体忘记了,有一个队列,定义了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 que; 4 int MaxVal =- 1 ; 5 int push_data[ 5 ] = { 6 9 , 8 , 10 , 2 , 1 7 }; 8 9 for ( int i = 0 ;i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |