bfs中的队列相关函数
成员函数:
empty()判断队列空,当队列空时,返回true。size()访问队列中的元素个数。
push()会将一个元素置入queue中。
front()会返回queue内的第一个元素(也就是第一个被置入的元素)。
back()会返回queue中最后一个元素(也就是最后被插入的元素)。
pop()会从queue中移除一个元素。
注意:
pop()虽然会移除下一个元素,但是并不返回它,front()和back()返回下一个元素但并不移除该元素。
与普通队不同的是,取出首位元素不是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