C++之queue模板类
来源:互联网 发布:桌面便签软件 推荐 编辑:程序博客网 时间:2024/06/08 08:15
1.queue常用成员函数
①size() 返回队列中元素的个数 ②empty() 如果队列空则返回真 ③back() 返回最后一个元素引用即队尾。 ④front() 返回第一个元素引用即队首。 ⑤pop() 删除第一个元素,即队首元素。不返回 ⑥push() 在末尾加入一个元素,即放置在队尾 。不返回
2.结构体和指针类queue
注意:指针使用应该初始化,指针压栈效率更高。
#include"iostream"#include"queue" using namespace std; typedef struct Data{ int data; } mydata; void initialization(mydata src[10]) { for(int i=0;i<10;i++) src[i].data=i; }int _tmain(int argc, _TCHAR* argv[]){queue<mydata*> *myQueue=new queue<mydata*>;//指针一定初始化mydata src[10];initialization(src);for(int i=0;i<10;i++) myQueue->push(&src[i]);//指针压栈效率更高cout<<"最前和最后的元素是 "<<myQueue->front()->data<<" "<<myQueue->back()->data<<endl;myQueue->pop();cout<<"最前和最后的元素是 "<<myQueue->front()->data<<" "<<myQueue->back()->data<<endl;return 0;}
3.queue的深拷贝
①使用front()返回队首元素至某个变量,给变量的数据区数据改变不影响源队列元素的值 ②“=”可以直接深拷贝队列。从queue变量作函数参数可知。
#include"iostream"#include"queue"void print(queue<char> myQueue) { while(!myQueue.empty()) {cout<<myQueue.front()<<endl; myQueue.pop();} }int _tmain(int argc, _TCHAR* argv[]){queue<char> myQueue1;myQueue1.push('a');myQueue1.push('b');print(myQueue1);//形参深拷贝 print(myQueue1); //仍旧能够输出 char temp=myQueue1.front();cout<<temp<<endl;//输出atemp='c';cout<<myQueue1.front()<<endl;//输出amyQueue1.pop();temp=myQueue1.front();cout<<temp<<endl;//输出breturn 0;}
4.其他
(1)queue不提供元素的随机访问、遍历和删除操作。
(2)可以使用swap函数交换两个同类型对象的内部值
0 0
- C++之queue模板类
- C++primer 实现queue的模板类
- C++之STL--queue模板类
- STL模板之queue
- 类模板实现Queue
- Queue模板类
- 模板队列Queue类
- Queue--C++模板类
- C# Queue模板类
- c++模板类Queue
- c++ STL模板之 queue
- [C++]queue简单实现--关于模板
- 自定义类模板 实现Queue
- 使用模板类实现Queue
- 类模板Queue的实现
- HDU 大数模板之Children’s Queue
- C++STL之queue用法
- queue模板
- jQuery+Superfish制作下拉菜单
- 数据结构(C++版)第一章绪论 思维导图
- InnoDB undo log解析(一)
- 修改cron.daily的启动时间
- TI低功耗蓝牙(BLE)介绍
- C++之queue模板类
- vc6.0 Greta正则表达式应用
- dataguard之创建物理备库
- JS获取客户端IP地址与机器名
- innodb_force_recovery对mysql 宕机恢复影响
- [Ubuntu系统]“ubuntu.sh: 113: ubuntu.sh:Syntax error: "(" unexpected ”报错解决方法
- sublime text安装之后需要做的事情
- IT忍者神龟之获取域名用户
- cocos2d 制作动态光晕效果基础 —— blendFunc