寻找链表最大值代码实现
时间: 2023-01-29 07:06:00 浏览: 100
下面是一个在 C 语言中找到链表中的最大值的例子:
```
#include <stdio.h>
#include <stdlib.h>
struct node {
int data;
struct node *next;
};
int main() {
struct node *head = NULL; // 链表的头指针
int max;
// 在这里插入代码来建立链表
// 从头开始遍历链表
struct node *current = head;
max = current->data;
while (current != NULL) {
if (current->data > max) {
max = current->data;
}
current = current->next;
}
printf("最大值是 %d\n", max);
return 0;
}
```
在这段代码中,链表是通过一个名为 `head` 的指针来引用的。我们使用一个循环来遍历链表中的每个节点,并检查每个节点的数据域是否大于当前的最大值。如果是,就将最大值设置为该节点的数据域。最后,在循环结束后,最大值就是链表中的最大值。
请注意,在这段代码中,我们假设链表已经被建立好了。如果你需要插入代码来建立链表,可以参考下面的例子:
```
struct node *current;
// 在链表的开头插入一个新节点
current = malloc(sizeof(struct node));
current->data = 5;
current->next = head;
head = current;
// 在链表的末尾插入一个新节点
current = malloc(sizeof(struct node));
current->data = 10;
current->next = NULL;
if (head == NULL) {
head = current;
} else {
struct node *temp = head;