队列的使用—最近通话记录
来源:互联网 发布:java 判断数组为null 编辑:程序博客网 时间:2024/06/05 03:18
手机的存储空间非常小,以至于未接来电、已接来电和已拨电话都只能各自保存最近的10条记录。未接来电、已接来电和已拨电话记录全部给出。写代码使用循环队列来实现最近记录的功能。
输入格式:每条记录包含两个数字,第一个数代表记录类型,第二个数代表手机号码。其中0代表未接来电,1代表已接来电,2代表已拨电话。
输出格式:分3列输出未接来电、已接来电、已拨电话。列之间用空格分割,后接电话 在最先输出,不足10条用0占位。
#include <iostream>#include <cstdio>#include <queue>using namespace std;const int LEN = 10;// 自定义循环队列类,来实现题目要求的某一类通话列表的保存// 在程序中调用定义举例如下:// circular_queue Q;// 如果要定义数组,比如这道题需要定义一个长度为3的循环队列数组,则参考如下定义:// circular_queue Q[3];class circular_queue {public: // 自定义的类用到了STL中的deque,也就是双端队列 // 双端队列,顾名思义,可以从队列的头或者尾插入或者删除元素 deque<string> q; // 构造函数,将队列清空 // 构造函数会在声明一个类变量的时候自动调用 circular_queue() { q.clear(); } // 在队尾插入元素,如果队列长度超过限制(LEN=10)则将队首元素弹出 // 调用方法举例如下: // Q.add("hello world"); void add(string str) { // 在队尾插入元素 q.push_back(str); // 判断队列长度是否超过限制 if (q.size() > LEN) { // 如果长度超过限制,则弹出队首元素 q.pop_front(); } } // 返回队尾元素的值,如果队列是空的,就按照题面要求返回一个字符串"0" string get_tail() { // 判断队列是否为空 if (q.size() > 0) { // 返回队尾元素 return q.back(); } else { // 返回一个默认的字符串"0" return "0"; } } // 弹出队尾元素,如果队列空则不进行操作 void pop_tail() { // 判断队列是否为空 if (q.size() > 0) { // 弹出队尾元素 q.pop_back(); } }};int main() { int _type; string str; circular_queue q[3]; // 读到文件结束,每行一个整数和一个字符串 while (cin >> _type >> str) { // 这里实现循环队列的插入操作。 q[_type].add(str); } for (int i = 0; i < 10; ++i) { // 输出三个循环队列的队尾元素,要调用循环队列的get_tail()方法 cout << q[0].get_tail() << " " << q[1].get_tail() << " " << q[2].get_tail() << endl; // 接下来依次将三个循环队列的队尾元素分别删除 q[0].pop_tail(); q[1].pop_tail(); q[2].pop_tail(); } return 0;}
From 计蒜客
0 0
- 队列的使用—最近通话记录
- 内容提供者的使用(消除通话记录)
- 最近最少使用队列算法
- android二级列表(BaseExpandableListAdapter的使用) 仿通话记录
- 删除联系人的通话记录
- 监控通话记录的变更
- 读取通话记录的权限
- 查询手机的通话记录
- 通话记录
- 通话记录
- 最近使用的技术
- android 通话记录的导入/导出
- 通话记录的查询与删除
- Android6.0的通话记录获取
- 关于iOS通话记录的问题
- Sim卡中的通话记录与NVRAM中通话记录的关系
- 清除“最近使用的文档”
- 去掉“最近使用的文档”
- BeanUtils.setProperty()出错
- SVG中的常用标签
- hello world
- php代码调试
- Aspose使用
- 队列的使用—最近通话记录
- 带实证明,imshow是能显示数据归一化到0到1的图像的!
- ImageLoader相关笔记
- SQL Server 2016 Mobile BI----移动报表
- table中<td>嵌套<table>隐藏边线和内部线
- Ehcache学习(一)简介与实例
- iOS 地图显示比例设置 (这里是当前的位置信息代理方法中实现)
- ERROR! The server quit without updating PID file (/var/lib/mysql//localhost.localdomain.pid
- 最全面的linux信号量解析