array_queue.h

来自「迷宫问题」· C头文件 代码 · 共 67 行

H
67
字号
#ifndef ARRAY_QUEUE
#define ARRAY_QUEUE

template <class T>
class ArrayQueue
{
public:
	ArrayQueue(int s=100);

	void enqueue(T);
	T dequeue();
	bool isFull() const
	{
		return rear==size-1;
	}

	bool isEmpty() const
	{
		return head>rear;
	}
	~ArrayQueue()
	{
		delete [] arr;
	}
private:
	int head, rear, size;
	T *arr;
	friend class Queue_Building;
	friend class Opt_Building;
};

template<class T>
ArrayQueue<T>::ArrayQueue(int s)
{
		head = 0; rear = -1;
		size=s;
		arr=new Cell[size];
}
template<class T>
void ArrayQueue<T>::enqueue(T el)
{
	if(!isFull())
	{
		rear++;
		arr[rear]=el;
	}else
		cout<<"Full array.\n";

}

template<class T>
T ArrayQueue<T>::dequeue()
{
	if(!isEmpty())
	{
		T temp;
		temp=arr[head];
		head++;
		return temp;
	}else
		cout<<"Empty array.\n";
}


#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?