c语言写一个求单链表最大值的代码
时间: 2024-02-13 17:00:01 浏览: 79
以下是一个简单的C语言代码,用于找到单链表中的最大值:
```c
#include <stdio.h>
#include <stdlib.h>
struct ListNode {
int val;
struct ListNode *next;
};
int maxVal(struct ListNode* head) {
int max = head->val;
while (head != NULL) {
if (head->val > max) {
max = head->val;
}
head = head->next;
}
return max;
}
int main() {
// 创建链表
struct ListNode* head = (struct ListNode*)malloc(sizeof(struct ListNode));
head->val = 1;
struct ListNode* node1 = (struct ListNode*)malloc(sizeof(struct ListNode));
node1->val = 2;
head->next = node1;
struct ListNode* node2 = (struct ListNode*)malloc(sizeof(struct ListNode));
node2->val = 3;
node1->next = node2;
node2->next = NULL;
// 找到链表中的最大值
int max = maxVal(head);
printf("链表中的最大值是: %d\n", max);
return 0;
}
```
在这个代码中,我们定义了一个 `ListNode` 结构体,其中 `val` 表示节点的值,`next` 表示下一个节点。我们使用 `maxVal` 函数遍历链表,并找到链表中的最大值。在 `main` 函数中,我们创建了一个简单的链表,并使用 `maxVal` 函数找到链表中的最大值并打印出来。
阅读全文