查找最大数

public class FindBiggest {

public static int BiggestInt(int...values){
int largest=Integer.MIN_VALUE;
for (int i : values){
if (i>largest)largest=i;
}
return largest;

}

public static double BiggestDouble(double...values){
double largest=Double.MIN_VALUE;
for (double d : values){
if (d>largest)largest=d;
}
return largest;

}
}

要使用C++语言在单链表中查找最大数,可以遍历单链表,在遍历过程中记录当前找到的最大数。以下是基于引用中给出的单链表定义,实现查找最大数的示例代码: ```cpp #include <iostream> // 单链表节点结构体 struct ListNode { int val; // 数据域 ListNode *next; // 指针域 ListNode() : val(0), next(nullptr) {} // 节点默认构造方法 ListNode(int x) : val(x), next(nullptr) {} // 节点初始化val的构造方法 }; // 查找单链表中的最大数 int findMaxInList(ListNode* head) { if (head == nullptr) { return 0; // 如果链表为空,返回0 } int maxVal = head->val; // 初始化最大值为头节点的值 ListNode* current = head->next; // 从第二个节点开始遍历 while (current != nullptr) { if (current->val > maxVal) { maxVal = current->val; // 更新最大值 } current = current->next; // 移动到下一个节点 } return maxVal; } ``` 使用示例: ```cpp int main() { // 创建一个简单的单链表 1 -> 3 -> 2 -> 5 -> 4 ListNode* head = new ListNode(1); head->next = new ListNode(3); head->next->next = new ListNode(2); head->next->next->next = new ListNode(5); head->next->next->next->next = new ListNode(4); int maxVal = findMaxInList(head); std::cout << "单链表中的最大数是: " << maxVal << std::endl; // 释放链表内存 while (head != nullptr) { ListNode* temp = head; head = head->next; delete temp; } return 0; } ``` ### 代码解释 1. **定义单链表节点结构体**:使用 `ListNode` 结构体表示单链表的节点,包含一个整数数据域 `val` 和一个指向下一个节点的指针 `next` [^2]。 2. **查找最大数的函数**:`findMaxInList` 函数接收一个指向单链表头节点的指针作为参数。首先检查链表是否为空,如果为空则返回0。然后初始化最大值为头节点的值,接着从第二个节点开始遍历链表,比较每个节点的值与当前最大值,如果节点的值大于当前最大值,则更新最大值。最后返回最大值。 3. **主函数**:创建一个简单的单链表,调用 `findMaxInList` 函数查找最大数,并输出结果。最后释放链表占用的内存,避免内存泄漏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值