首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

STL中的priority_queue問,该如何解决

2012-03-06 
STL中的priority_queue問請問這個(constvalue_type*first,constvalue_type*last,constCompare&comp)中firs

STL中的priority_queue問
請問   這個   (const   value_type*   first,   const   value_type*   last,const   Compare&   comp)
中   first和last都是起什么作用的...
用   priority_queue   <int,   vector <int> ,   greater <int>   > 來講解一下好么  
而且   看msdn說first和last是個inputIterator,
很困惑的問題

[解决办法]
嗯,这个还真没用过。建议看 <STL源码剖析>
[解决办法]
难道不是beigin和end的意思?

[解决办法]
請問 這個 (const value_type* first, const value_type* last,const Compare& comp)
中 first和last都是起什么作用的...
---------
first last 简单的说,是2个指针(暂且这样理解吧)分别指向容器的第一个元素和最后面的
在这里作为参数可以表示一个区间,就是从头到尾,给你据个例子:
adjacent_find
template <class FwdIt>
FwdIt adjacent_find(FwdIt first, FwdIt last);
template <class FwdIt, class Pred>
FwdIt adjacent_find(FwdIt first, FwdIt last, Pred pr);
查找条件为毗邻的2个元素满足某种关系
第一个函数是满足 *(first + N) == *(first + N + 1)
第二个函数是满足 pr(*(first + N), *(first + N + 1)) == true
第二个函数的第三个参数是函数对象,理解它之前可以先将其理解成函数,象这样bool pr(T t1, T t2)
引自我的博客: http://blog.csdn.net/hoya5121/archive/2007/08/06/1728138.aspx


用 priority_queue <int, vector <int> , greater <int> > 來講解一下好么
而且 看msdn說first和last是個inputIterator,
很困惑的問題
---------------
所谓inputIterator意思是说这个 "指针 "是指向输入(只读)参数的.
priority_queue是个优先队列,大概意思是说你将元素插入队列后就自动按照你提前告诉它的优先方式来排序插入.
如:less <class T> 这是按值大的优先 greater <class T> 这是按值小的优先,
priority_queue <class T, class comp=less < class Y> > 默认的是以大为先

如果你还是不太懂的话,建议你先学习stl的基本知识
[解决办法]
Priority queue constructors
Syntax:
#include <queue>
priority_queue( const Compare& cmp = Compare(), const Container& c = Container() );
priority_queue( input_iterator start, input_iterator end, const Compare& comp = Compare(), const Container& c = Container() );

Priority queues can be constructed with an optional compare function cmp ' and an optional container c. If start and end are specified, the priority queue will be constructed with the elements between start and end.
[解决办法]
没见过楼主给的这种形式 ...

不过,从表面看,
first 和 last 就是指示一个数据段,
把这两个位置之间的数据 根据 第三个参数comp指定的优先排序规则 进行有序化 ...
[解决办法]
去买本《STL源码剖析》,priority_queue一共才要3页纸就全讲完了。
你一看就知道了。

热点排行