linkedqueue.h

来自「一个我的数据结构解题集合」· C头文件 代码 · 共 49 行

H
49
字号
#ifndef LINKED_QUEUE_H__
#define LINKED_QUEUE_H__

#include "List.h"


template <typename T>
class LinkedQueue {
private:
	mutable List<T> list_;		// List为带有头节点的循环双链,内部以head指针算出begin()和end()

public:

	/* 将元素e放入队列
	 */
	void push(const T&e) {
		list_.insert(list_.end(), e);
	} // push(const T&)

	/* 将元素e弹出队列
	 */
	void pop() {
		list_.remove(list_.begin());
	} // pop()

	/* 查询列首元素
 	 * 如果Queue为空, 抛出std::out_of_range异常
	 */
	const T& front() const {
		return list_.begin()->data;
	} // front() const
	
	/* 查询Stack中现存元素的数目
	 */
	int size() const {
		return list_.size();
	} // size() const

	/* 查询Queue是否为空
	 */
	bool isEmpty() const {
		return list_.isEmpty();
	} // isEmpty() const

}; // LinkedQueue



#endif // LINKED_QUEUE_H__

⌨️ 快捷键说明

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