gpt4 book ai didi

c++ - 使用引用遍历链表不起作用

转载 作者:搜寻专家 更新时间:2023-10-31 02:09:09 24 4
gpt4 key购买 nike

我正在尝试制作一个队列列表,我正在传递链接列表的引用,但它不起作用并给出错误。

In function 'void insertDataToQueue(Node**, int)':| request for member 'next' in '* temp', which is of pointer type 'Node* {aka node*}' (maybe you meant to use '->' ?)|

 void insertDataToQueue(Node **queueList, int burstTime){
Node *newNode = new Node;
newNode->burstTime = burstTime;
newNode->next = NULL;

if(queueList == NULL){
*queueList = newNode;
}
else{
Node **temp = queueList;
while(*temp != NULL)
temp = *temp->next;
}
}

最佳答案

要遍历整个列表,只需指向 Node 的简单指针就足够了:

void insertDataToQueue(Node **queueList, int burstTime){
Node *newNode = new Node;
newNode->burstTime = burstTime;
newNode->next = NULL;

if(queueList == NULL) {
*queueList = newNode;
}
else {
Node *temp = *queueList;
// Find last element, ie element who "next" field is NULL
while(temp->next != NULL) {
temp = temp->next;
}
// Make last element to point to new element
temp->next = newNode;
}
}

现在,没有任何链接,我想(我希望)仅用于学习方面。因为 C++ 是您需要的每个容器。例如,您有 std::liststd::queue 链表。对于生产代码,更喜欢使用它而不是自己开发。

关于c++ - 使用引用遍历链表不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46769747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com