1

我不明白,当我调用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;
4

1 回答 1

6

我的 beisEmpty没有正确实现,所以每次添加新节点时,都会将 head 重新分配给该节点

于 2013-01-12T14:23:35.097 回答