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
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
相关文章推荐
- linux进程间通信--消息队列相关函数(ftok)详解
- 关于进程通信的消息队列相关函数
- linux进程间通信--消息队列相关函数(msgget、msgctl、msgsnd、msgrcv)详解
- 队列操作相关函数
- uC/OS-II 函数之消息队列相关函数
- 关于等待队列相关函数
- uC/OS-II 函数之消息队列相关函数
- 消息队列相关函数总结
- cephfs linux kernel client针对ceph_inode_info相关工作队列处理函数分析
- 网络设备发送队列相关数据结构及其创建函数 (linux网络子系统学习 第十节 )
- redis消息队列相关函数
- PHP字符转义相关函数小结(php下的转义字符串)
- Socket使用相关函数
- jquery队列函数用法实例
- 线程控制-sigwait函数和相关函数解释
- Date对象的一些相关函数
- 输入函数相关博客学习总结
- c++不自动生成相关函数比如赋值、拷贝函数
- linux网络编程之System V 消息队列(二):消息队列实现回射客户/服务器和 msgsnd、msgrcv 函数
- C中文件操作相关函数