stl 队列的学习
1.头文件
#include<queue>
2.using namespace std;
是指标识符的各种可见范围。c++标准程序库中的所有标识符都被定于名为std的namespace 中。
(补充点知识:、<iostream>和<iostream.h>格式不一样 前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。 后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。 因 此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用< iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。)
3.各种操作
队列长度:q.size();
队尾元素:q.back();
判断队列是否为空:q.empty(),为空则返回1
删除队首元素:q.pop();删除队首元素,不能返回队首值
插入元素 q.push();
如for(i=0;i<5;i++) q.push(i);
q.front();返回队首元素
4.定义队列变量
queue<char *>q;(类型为char,变量名为q)
queue<int>q;(类型为int,变量名q
2、结构体
struct node
{
int x, y;
};
queue<node>q;
***************************************************
#include<iostream> #include<queue> #include<algorithm> using namespace std; int main() { int i; queue<int>q; for(i=0;i<5;i++)q.push(i); cout<<q.size(); puts(""); cout<<q.back(); puts(""); while(!q.empty()) { cout<<q.front(); puts(""); q.pop(); } system("pause"); return 0; }
)
#include<iostream> #include<queue> using namespace std; int main(void) { queue<char *>q; q.push("we"); q.push("want"); q.push("to"); q.push("go"); q.push("to"); q.push("American!"); cout<<"队列的大小为:"<<q.size()<<endl; cout<<"队列的首元素和尾元素分别是:"<<q.front()<<" "<<q.back()<<endl; while(!q.empty()) { cout<<q.front()<<" "; q.pop(); } cout<<endl; system("pause"); return 0; } 详请请看:http://hi.baidu.com/yuanwenxue/blog/item/805e3ddb2bad116dd0164e94.html
posted on 2011-05-07 17:10 more think, more gains 阅读(372) 评论(0) 编辑 收藏 举报