STL队列 stl队列训练

Queue队列容器

Queue队列容器是一个先进先出的线性存储表,元素的插入只能在队尾,元素的删除只能在队首。

使用Queue需要声明头文件“#include<queue>”

Push():入队,即插入元素

Pop():出队,即删除元素

Front():读取队首元素

Back():读取队尾元素

Empty():判断队列是否为空

Size():队列当前元素

使用示例:

#include<queue>

#include<iostream>

usingnamespacestd;

intmain()

{

//定义队列

queue<int>q;

//入队,即插入元素

q.push(1);

q.push(2);

q.push(3);

q.push(9);

//返回队例元素数量

cout<<q.size()<<endl;

//判断队列是否为空

cout<<q.empty()<<endl;

//读取队首元素

cout<<q.front()<<endl;

STL队列 stl队列训练

//读取队尾元素

cout<<q.back()<<endl;

//所有元素出列,即删除所有元素

while(q.empty()!=true)

{

cout<<q.front()<<"";

//删除队首元素

q.pop();

}

cout<<endl;

return0;

}

优先队列priority_queue

优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素。但是它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素出队。这点类似于给队列里的元素进行了由大互小的顺序排序。元素的比较规则默认按元素值由大到小排序,可以重载“<”操作符来重新定义比较规则。

使用优先队列时也需要声明头文件“#include<queue>”

#include<iostream>

#include<queue>

usingnamespacestd;

intmain()

{

priority_queue<float>q;

//insertthreeelementsintothepriorityqueue

q.push(66.6);

q.push(22.2);

q.push(44.4);

//readandprinttwoelements

cout<<q.top()<<'';

q.pop();

cout<<q.top()<<endl;

q.pop();

//insertthreemoreelements

q.push(11.1);

q.push(55.5);

q.push(33.3);

//skiponeelement

q.pop();

//popandprintremainingelements

while(!q.empty()){

cout<<q.top()<<'';

q.pop();

}

cout<<endl;

}

如果优先队列的元素类型是结构体,可以通过在结构体中重载“<“操作符的方法来修改优先队列的优先性。

#include<queue>

#include<string>

#include<iostream>

usingnamespacestd;

//定义结构体

structinfo

{

stringname;

floatscore;

booloperator<(constinfo&a)const

{

//按照score由小到大进行排列,如果要使用由大到小,使用“>”即可

returna.score<score;

}

};

intmain()

{

priority_queue<info>pq;

infoin;

in.name="Jack";

in.score=68.5;

pq.push(in);

in.name="Bomi";

in.score=18.5;

pq.push(in);

in.name="Peti";

in.score=90;

pq.push(in);

while(!pq.empty())

{

cout<<pq.top().name<<":"<<pq.top().score<<endl;

pq.pop();

}

return0;

}

  

爱华网本文地址 » http://www.aihuau.com/a/25101012/125380.html

更多阅读

军事训练动作要领 军训转身动作要领图片

军事训练动作要领 第一节队列训练队列训练包括队列动作训练和队形训练。一、军事队列动作军事队列动作是军人精神面貌与组织纪律的集中表现。进行队列动作训练可以培养良好的军姿。(一)立正要领:两脚跟靠拢并齐,两脚尖向外分开约60度;

中国人民解放军队列条令 解放军纪律条令

中国人民解放军队列条令军发〔2010〕23号  《中国人民解放军队列条令》已经2010年5月4日中央军委常务会议通过,现予发布,自2010年6月15日起施行。  主席胡锦涛   二〇一〇年六月三日目录  第一章总则  第一条立法目的  

转载 征文总结 我的新兵生活一 ----阿宁 新兵训练考核总结

“军营,没有弱者。”这是阿宁《军旅生涯之我的新兵连》的关键语,“千篇一律的新兵连生活,在阿宁眼里也可以这样精彩。”晓晨即刻作了转载,两篇文章的评论集结了来自祖国四面八方的老兵,跟帖一致热议“新兵连”——齐刷刷的“豆腐块”、标

声明:《STL队列 stl队列训练》为网友憧景着末来分享!如侵犯到您的合法权益请联系我们删除