我没有得到这个,当我打电话给head->value
时,它会返回我添加到链表的最后一个值。它是否应该返回第一项,因为head
仅在空时设置?正确?我想也许代码中还有其他一些错误。
void LinkedListPQueue::enqueue(const string& elem) {
cell *newCell = new cell;
newCell->value = elem;
newCell->next = NULL;
if(this->isEmpty()) {
this->head = this->tail = newCell;
} else {
// find smallest and put it there
this->tail->next = newCell;
this->tail = newCell;
}
}
在标题
中声明struct cell {
std::string value;
cell *next;
};
cell *head, *tail;
答案 0 :(得分:6)
我的isEmpty
未正确实现,因此每次添加新节点时,都会将头部重新分配给该节点