/*
* queue_2.cpp
*
* Created on: 2013年8月2日
* Author: 黄东东
* 为了能有章泽天这样的女朋友而不断努力。。。。。
* fighting。。。。。。。
*/
#include <iostream>
typedef int T;
using namespace std;
class Queue {
int a[5];
int b;//队首元素
int n;//有效元素个数
public:
Queue() :
b(0), n(0) {
}
Queue& push(const T& d) {
if (full()) {
throw "满";
}
a[(b + n++) % 5] = d;
return *this;
}
T pop() {
if (empty()) {
throw "空";
}
--n;
return a[b++ % 5];
}
const T& front() {
return a[b % 5];
}
const T& back() {
return a[(b + n - 1) % 5];
}
bool empty() {
return n == 0;
}
bool full() {
return n == 5;
}
int size() {
return n;
}
void clear() {
b = 0;
n = 0;
}
};
int main() {
Queue q;
try {
q.push(1).push(2).push(3).push(4).push(5);
cout << q.pop() << endl;
cout << q.pop() << endl;
q.push(6).push(7).push(8);
} catch (const char* e) {
cout << "异常:" << e << endl;
}
while (!q.empty()) {
cout << q.pop() << endl;
}
}
队列的数组实现
原创
©著作权归作者所有:来自51CTO博客作者CAIHONGSHIJIE6的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:标准容器的共性及举例
下一篇:栈的链表实现

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
队列-静态数组实现
队列和堆栈的顺序不同:队列是一种先进先出(First-IN FIRST-OUT,FIFO)的
队列 堆栈 数据结构 数组 #define -
java使用数组实现队列
1.1. 队列的数据结构队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)
java 数组 队列 System 线性表 -
C++数组实现队列
队列是一种先进先出的数据结构,队列元素从队头出队,从队尾入队,如一组数入队顺序为:5 \
数据结构 出队 #include