c++:链表头和尾指针



我没有得到这个,当我调用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;
    }
}

在header

中声明
struct cell {
    std::string value;
    cell *next;
};
cell *head, *tail;

My be isEmpty没有正确实现,所以每次添加新节点时,您都要将头部重新分配给该节点

相关内容

  • 没有找到相关文章

最新更新