您的位置:首页 > 其它

bfs中的队列相关函数

2017-07-24 15:12 169 查看
成员函数:

empty()判断队列空,当队列空时,返回true。

size()访问队列中的元素个数。

push()会将一个元素置入queue中。

front()会返回queue内的第一个元素(也就是第一个被置入的元素)。

back()会返回queue中最后一个元素(也就是最后被插入的元素)。

pop()会从queue中移除一个元素。

注意:

     pop()虽然会移除下一个元素,但是并不返回它,front()和back()返回下一个元素但并不移除该元素。

定义优先队列    priority_queue<node> Q;    

与普通队不同的是,取出首位元素不是Q.front(),而是使用Q.top();

struct  node

 { 
int x,y,step; 
friend bool operator<(node n1,node n2)

  { 
//大于是从小到大 
return n1.step>n2.step; 


};

队列还有双向队列,其中双向队列可以使用到一些组合的成员函数。

如:

   队列名.pop_back();

   队列名.pop_front();

指的就是,删除队列开始的一个元素,或者删除队列结尾的一个元素。

下面是一个大神级总结队列。

双向队列:http://blog.csdn.net/morewindows/article/details/6946811

单向队列:  http://blog.csdn.net/morewindows/article/details/6950917
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: