如何返回指向链接列表中最大值的指针
How can return a pointer pointing to the largest value in a linked list?
这是我的尝试
// Return a pointer to node with the largest value.
// You may assume list has at least one element
Node * pointerToMax(LinkedList *list) {
assert(list!=NULL);
assert(list->head != NULL);
Node *p, *q;
p = list->head;
q = list->head;
int max = q->data;
while(p != NULL){
if(p->data > max){
max = p->data;
}
return p;
p = p->next;
}
}
这是结构定义。
struct Node {
int data;
Node *next;
};
struct LinkedList {
Node *head;
Node *tail;
};
我试图弄清楚如何返回指向最大价值的指针,但我无法确切地弄清楚如何将指针返回变量max
,我什至不确定max
变量是否符合正在正确更新。
您想要这样的东西:
Node *maxNode = p;
int max = p->data;
while(p != NULL){
if(p->data > max){
max = p->data;
maxNode = p;
}
p = p->next;
}
return maxNode;
没有理由在您的时循环中进行return
。我们不知道最大 Node
是什么,直到我们通过循环 the节点。
相关文章:
- 从链接列表c++中删除一个项目
- 读取文件的最后一行并输入到链接列表时出错
- 下面是我为检测链接列表中的循环而制作的代码
- 有人能帮我处理这个链接列表吗?C++
- C++ 创建包含链表和字符串的对象的链接列表时出错
- 你能检查一下为什么在这个代码中从链接列表中删除项目不起作用吗
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 链接列表运算符重载没有打印出我想要的内容
- 链接列表在 cpp 中包含不同的对象类
- 创建一个棋盘格或"Interweave"两个链接列表。IE 更改两个链表的指针
- 如何在构建链接列表时调整头、尾指针
- Shared_ptr双链接列表内存泄漏
- 为什么每当我尝试运行此链接列表删除功能时都会收到分段错误错误?
- 在链接列表中查找元素 - C++
- 删除链接列表中剩余的最后一个节点
- 只有我的"链接列表"中的第一个节点正在打印
- 避免在使用链接列表从 deque 中删除最后一个节点时出现内存泄漏
- C++ 分段错误:11 错误,同时编码将两个数字相加的链接列表
- 如何在C / C++中正确实现链接列表而不会使程序崩溃
- 将元素插入链接列表