genarrayqueue.h
来自「这是一本数据结构C++算法的完整的源代码」· C头文件 代码 · 共 51 行
H
51 行
// queue implemented as an array#ifndef ARRAY_QUEUE#define ARRAY_QUEUEtemplate<class T, int size = 100>class ArrayQueue {public: ArrayQueue() { first = last = -1; } void enqueue(T); T dequeue(); bool isFull() { return first == 0 && last == size-1 || first == last + 1; } bool isEmpty() { return first == -1; }private: int first, last; T storage[size];};template<class T, int size>void ArrayQueue<T,size>::enqueue(T el) { if (!isFull()) if (last == size-1 || last == -1) { storage[0] = el; last = 0; if (first == -1) first = 0; } else storage[++last] = el; else cout << "Full queue.\n";}template<class T, int size>T ArrayQueue<T,size>::dequeue() { T tmp; tmp = storage[first]; if (first == last) last = first = -1; else if (first == size-1) first = 0; else first++; return tmp;}#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?