社区
C++ 语言
帖子详情
STL中的priority_queue問
DraculaW
2007-08-08 02:04:08
請問 這個 (const value_type* first, const value_type* last,const Compare& comp)
中 first和last都是起什么作用的...
用 priority_queue <int, vector<int>, greater<int> >來講解一下好么
而且 看msdn說first和last是個inputIterator,
很困惑的問題
...全文
325
8
打赏
收藏
STL中的priority_queue問
請問 這個 (const value_type* first, const value_type* last,const Compare& comp) 中 first和last都是起什么作用的... 用 priority_queue <int, vector, greater >來講解一下好么 而且 看msdn說first和last是個inputIterator, 很困惑的問題
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DraculaW
2007-08-08
打赏
举报
回复
代码中
它的构造函数只是做了这件事情....
c.insert(c.end(), __first, __last);
而 这个c 正是被默认设置为 vector<_Tp>...
taodm
2007-08-08
打赏
举报
回复
去买本《STL源码剖析》,priority_queue一共才要3页纸就全讲完了。
你一看就知道了。
DraculaW
2007-08-08
打赏
举报
回复
这个是我在msdn上拖下来的例子
他的作用我也明白 只是很奇怪
为什么last一般用的是一个vector?
因为我大学时候的一道作业题是这样写的 当时也没有细究..
现在捡起来 发现了
SGI的在这里
http://www.sgi.com/tech/stl/priority_queue.html
而
MSDN的我拷来了
template<class InputIterator>
priority_queue(
InputIterator _First,
InputIterator _Last,
const Traits& __Comp
);
我想不明白的只是 为什么一个 类型和 这个类型的vector可以做为first和last 或许 得去看看它是怎么实现的...
jixingzhong
2007-08-08
打赏
举报
回复
没见过楼主给的这种形式 ...
不过,从表面看,
first 和 last 就是指示一个数据段,
把这两个位置之间的数据 根据 第三个参数comp指定的优先排序规则 进行有序化 ...
jixingzhong
2007-08-08
打赏
举报
回复
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.
hoya5121
2007-08-08
打赏
举报
回复
請問 這個 (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的基本知识
healer_kx
2007-08-08
打赏
举报
回复
难道不是beigin和end的意思?
taodm
2007-08-08
打赏
举报
回复
嗯,这个还真没用过。建议看<STL源码剖析>
SpringBoot项目打成war包并部署到外部Tomcat容器
一、修改pom.xml
中
将默认的jar包方式改成war <!-- 将打包方式修改为war--> <packaging>war</packaging> 二、排除内置的Tomcat容器【以下两种方式均可】 方式1 <dependency> <groupId>org.springframework.boot</group...
php打包war,Spring Boot 项目打包war包并部署到外部 tomcat
springboot的应用打包默认是打成jar包,并且如果是web应用的话,默认使用内置的tomcat充当servlet容器,但内置的tomcat有时候并不满足我们的需求,当我们需要把springboot的jar应用打包成war包并在外部tomcat
中
部署时,默认的设置就需要更改了。习惯SSM开发的同学可能会疑惑,不是直接打成war包然后扔到到tomcat的webapp下就行了的吗?然而,spri...
SpringBoot打war包并部署到外部tomcat运行(jar工程改造为正war工程)
如果你的SpringBoot工程是一个jar工程,而想把它改造成war工程,并打成war包放到外部的tomcat下运行,该怎么修改配置呢?这里以Maven工程为例进行介绍。 (1)将pom.xml
中
的打包方式由jar改成war (2)在pom.xml
中
添加spring-boot-starter-tomcat依赖 <dependency> <groupId>o...
SpringBoot发布War包,并部署外部Tomcat
SpringBoot发布War包,并部署外部Tomcat 工具:IDEA、Tomcat8.0 只需: 1.修改POM.xml项目打包方式b变为war 2.去掉springboot内置tomcat,添加一下依赖 3.导入servlet依赖 4.修改Application.java启动方式,继承SpringBootServletInitializer类并重写configure方法 5.打包部署...
SpringBoot打war包 并使用外部tomcat部署
SpringBoot项目打成war包: 在pom文件
中
加上<packaging>war</packaging> 然后依次使用clean、package即可。 1、clean(清除原来打的target文件) 2、packaging打包(会在项目文件
中
生成target文件夹) 3、查看生成的文件 至此war包已经打好。 如果想使用外部tomcat部署项目请看下...
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章