我不断地得到第一个条目附加4次而不是一次。当我将第一个条目附加到队列时,它会附加4次..我认为这可能是问题所在..但看起来不是问题所在..我找不到问题所在..
我还为节点创建了一个打印函数,它显示队列中有4个相同的条目,因此这不是打印问题。它看起来不像是在读函数中。可能是在附加函数的逻辑中??仍在努力……
这是输出:
3x^2+3x^2+3x^2+3x^2+1
但应该是
3x^ 2+1
这是我的附加函数:
Error_code Extended_queue::append(const Queue_entry &item) {
Node<Queue_entry> *new_rear = new Node<Queue_entry>(item);
if(rear == nullptr){
front = new_rear;
}
else {
rear->next = new_rear;
rear = new_rear;
}
return success;
}
下面是打印输出的代码:
This is the node code declaration:
#ifndef NODE_H
#define NODE_H
enum Error_code{success,underflow,overflow};
template <class Node_entry>
struct __declspec(align(1)) Node{
Node_entry entry;
Node *next;
Node();
Node(Node_entry item, Node *add_on = nullptr);
};
template <class Node_entry>
Node<Node_entry>::Node()
{
entry = nullptr;
next = nullptr;
}
template <class Node_entry>
Node<Node_entry>::Node(Node_entry item, Node *add_on)
{
entry = item;
next = add_on;
}
#endif