soj 2302. Queue Implementation Using a Circular Array
来源:互联网 发布:淘宝登录界面无法打开 编辑:程序博客网 时间:2024/06/06 12:31
题意:
用循环数组模拟队列。
思路:
设置头尾指针,队列大小给定了100.
有两种表示方式:
一种,head = rear的时候队列为空。
还有一种(rear-head+1+N)%N = 0时队列为空。
我选取了第一种,第二种更传统吧。
注意:
不要用指针啦,直接变量就好了。
code:
#include <iostream>#include <cstdio>using namespace std;#define N 100template <typename T>class Queue{public:int head, rear;T a[N];Queue(){head = 0;rear = 0;}~Queue(){}Queue(const Queue &q){for (int i = 0; i < N; ++ i)a[i] = q.a[i];head = q.head;rear = q.rear;}bool empty() const{return head == rear;}int size() const{return (rear-head+N) % N;}bool push(const T &x){if (size() == N-1) return false;a[rear] = x;rear ++;if (rear == N) rear = 0;return true;}bool pop(){if (size() == 0) return false;head ++;if (head == N) head = 0;return true;}const T& front() const{return a[head];}};
- soj 2302. Queue Implementation Using a Circular Array
- Sicily 2302. Queue Implementation Using a Circular
- Queue implementation: A circular array with one unused location
- Yet another implementation of a lock-free circular array queue
- Yet another implementation of a lock-free circular array queue
- Circular Array implement Queue
- c implementation of a bounded buffer queue using posix threads
- Circular Queue
- Circular Queue
- Circular Array
- implement a stack using queue
- implement a queue using stack
- Implement stack using a queue
- Program work 3. Implementation of Deque using array
- 循环队列(circular queue)
- Thread safe circular queue
- 循环队列(Circular Queue)
- 队列(queue)的链表(list)实现及循环数组(circular array)实现 C++实现
- PHP学习-----文件操作/上传和下载
- 打造心中的暗黑传奇1
- iOS编译错误
- Android数据存储之SharedPreferences
- Java程序员成长之路
- soj 2302. Queue Implementation Using a Circular Array
- 设计模式之工厂方法模式
- XShell 技巧分享
- iframe的父类 子类相互调用
- VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT
- Python3与Python2中print的用法改变与Class获取属性学习
- monster campaign
- 设计模式之抽象工厂模式
- poj 1192 最优连通子集