Queue
来源:互联网 发布:淘宝违规考试答案2013 编辑:程序博客网 时间:2024/06/06 21:38
Queue.h
#pragma oncetemplate<class T>class queue {public: queue(); ~queue(); bool enqueue(const T); T dequeue(); bool empty() const; bool full() const;private: T* data; int head; int tail;};
Queue.cpp
#include"Queue.h"#include<iostream>const int N = 10;template<class T>queue<T>::queue():head(0),tail(0),data(new T[N]){}template<class T>queue<T>::~queue() { delete[] data;}template<class T>bool queue<T>::empty() const{ if (head == tail) return true; return false;}template<class T>bool queue<T>::full() const{ if (tail == (N - 1) && head == 0) { return true; } else if (head == tail + 1) { return true; } return false;}template<class T>bool queue<T>::enqueue(const T elem) { if (!full()) { data[tail] = elem; if (tail == N - 1) { tail = 0; } else { ++tail; } return true; } else { std::cout << "queue is full" << std::endl; return false; }}template<class T>T queue<T>::dequeue() { if (empty()) { std::cout << "queue is empty!" << std::endl; return T(); } else { return data[head++]; }}/*int main() { queue<int> text; text.enqueue(6); text.enqueue(7); text.enqueue(8); text.enqueue(9); std::cout << text.dequeue() << std::endl; std::cout << text.dequeue() << std::endl; std::cout << text.dequeue() << std::endl; std::cout << text.dequeue() << std::endl; return 0;}*/
0 0
- Queue
- queue
- Queue
- QUEUE ~
- queue
- queue
- queue
- queue
- queue
- queue
- Queue
- Queue
- queue
- queue
- Queue
- Queue
- queue
- Queue
- Python 获取cookie只sid值
- 傻逼之路——当用户输入了非数字时输入停止
- 数码管
- hdu1789经典的贪心可我不会
- python 可变参数传递
- Queue
- autorelease 使用
- 内容、利益、服务、功能,四大因素提升用户留存率
- vim 配置tagBar
- Python中collections的用法
- Excel取消掉每次打开弹出的自定义项安装程序弹窗
- jstl部分标签整理
- 如何做好电商平台的内容运营?
- 【bzoj1146】网络管理 主席树+树状数组+树链剖分