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 + -
显示快捷键?