问题描述
- 关于c++的队列模板链表实现代码
-
template
class QueueTp
{
private:
struct Node {T item; struct Node * next;};
enum { Q_SIZE = 10 };//默认队列长度
Node * front;//指向队列首个对象的指针
Node * rear;//队列尾部对象的指针
int items;//队列中的对象个数
const int qsize;//队列长度
QueueTp(const QueueTp & q) :qsize(0) { }//伪私有方法
QueueTp & operator=(const QueueTp & q) { return *this; }//伪私有方法
public:
QueueTp(int qs = Q_SIZE);
~QueueTp();
bool isempty()const;
bool isfull()const;
int queuecount()const;
bool enqueue(const T & item);
bool dequeue(T & item);
};//不能将模板成员函数放在独立的实现文件中
template
QueueTp::QueueTp(int qs) :qsize(qs)
{
front = rear = NULL;
items = 0;
}template
QueueTp::~QueueTp()
{
Node * temp;
while (front != NULL)
{
temp = front;
front = front->next;//到这里,front->打出来后显示没有可用成员 怎么回事?
delete temp;
}
}
这几个template后面括号里是写上了的 不知道为什么没显出来
解决方案
c++链表实现队列
堆栈与链表与队列代码实现
FIFO队列实现----链表实现(2014.8.5 仅代码,参考相关笔记)
解决方案二:
Node的定义在哪里?
解决方案三:
coding style太乱了,首先保证能编译过去吧
时间: 2024-10-31 23:29:37