使用引用遍历链接列表不起作用
traverse linklist using reference not working
我正在尝试制作一个队列列表,我正在传递链接列表的引用,但它不起作用并给出错误。
在函数 'void insertDataToQueue(Node**, int)'中:| 请求"* temp"中的成员"next",其指针类型为"节点* {aka 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;
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::list
或std::queue
谁是链表。对于生产代码,最好使用它而不是自己开发。
这个
*temp->next;
解析为
*(temp->next);
因为->
的优先级高于*
,如果要先取消引用,然后再访问成员,可以使用括号:
(*temp)->next;
相关文章:
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗
- 链接列表中的所有节点都相同,似乎插入不起作用
- 双链接列表添加元素不起作用,不知何故它总是保持为空
- 对列表迭代器指向的对象不起作用的引用
- 使用.txt文件填充 STL 列表不起作用
- 合并两个排序的列表 - 不起作用
- 为什么此代码用于单个链接列表不起作用
- 没有临时数组的列表初始化 - 在 GCC 中不起作用
- 将列表元素移动到列表末尾的函数多次不起作用
- 在声明节点创建链接列表时,为什么静态内存分配不起作用
- C++ 列表不起作用
- 使用引用遍历链接列表不起作用
- 使用初始化列表的 POD 类型初始化不起作用
- 基于双重链接列表不起作用的Deque实施
- C++迭代时删除列表成员:标准解决方案不起作用
- 标准::列表::擦除不起作用
- 链接列表打印不起作用.
- QML XML 列表视图不起作用
- 模板变量"列表"不起作用?
- C++ STL 中的增量 begin()(列表)不起作用