65,189
社区成员




template<typename Item>
class Queue
{
private:
enum {Q_SIZE = 10};
class Node
{
public:
Item item;
Node * next;
Node(const Item & i) : item(i), next(nullptr) {}
};
Node * front;
Node * rear;
int items;
....
bool dequeue(Item & item);
};
template<typename Item>
bool Queue<Item>::enqueue(const Item & item)
{
if(isfull())
return false;
Node * add = new Node(item); //这句暂时无法理解
items++;
if(front == nullptr)
front = rear = add;
else
{
rear->next = add;
rear = add;
}
return true;
}