C++实现队列(数组版)
来源:互联网 发布:光环大数据坑吗 编辑:程序博客网 时间:2024/06/05 01:16
#include <iostream>using namespace std;template<typename T>class myQueue{public:myQueue() : head(0), tail(0), length(0){//memset(a, 0, sizeof(a)); //没有string数组 a = new T[maxn];}~myQueue();void push(const T&);void pop();T& front();int size() const{return length;}bool empty() const;bool full() const{return (tail + 1) % maxn == head;}void destory();private:static const int maxn = 255;int head, tail, length;T *a;};template<typename T>myQueue<T>::~myQueue(){delete[] a;}template<typename T>bool myQueue<T>::empty() const{return size() == 0;}template<typename T>void myQueue<T>::push(const T& val){a[tail] = val;tail = (tail + 1) % maxn;length++;}template<typename T>T& myQueue<T>::front(){return a[head];}template<typename T>void myQueue<T>::pop(){head = (head + 1) % maxn;length--;}template<typename T>void myQueue<T>::destory(){while(!empty())pop();}int main(void){//myQueue<int> q;////for(int i = 0; i < 257; i++)//{//if(!q.full())//q.push(i);//}////while(!q.empty())//{//cout << q.front() << endl;//q.pop();//}//myQueue<double> q;//q.push(1.1);//q.push(0.22);////cout << q.size() << endl;//cout << q.front() << endl;myQueue<string> q;q.push("lalala");cout << q.front() << endl;return 0;}
0 0
- C队列 数组实现
- 用数组实现队列(C实现)
- 静态数组实现队列(C语言)
- 用数组去实现队列(c)
- 数组实现队列(C语言版)
- 用数组实现队列(C语言版)
- 使用数组实现队列(C语言)
- 用数组去实现队列(c)
- 使用数组实现队列(C语言)
- C语言数组实现队列
- C 数组实现 循环队列
- 用数组实现循环队列(C实现)
- 队列(数组实现)
- 队列(数组实现)
- 队列存放数组(C版)
- 队列的C语言实现(循环数组结构)
- 队列的数组实现(C语言描述)
- C++实现队列(数组版)
- 要换个发型+不要在床上办公
- 字符串的所有组合
- JSoup QUERY
- C++语言之参数传递
- 2011Android技术面试整理附有详细答案(包括百度、新浪、中科软等多家公司笔试面试题)
- C++实现队列(数组版)
- linux下安装vsftp
- 网络I/O虚拟化
- 你真的了解HTML吗?–雅虎面试题
- 博客开篇
- 从UE成为产品管理
- ZOJ-1178
- 范德萨发生大分撒旦
- C/C++ 类库开发库参考【资料整理】