赞
踩
2022.10.24单链表最大值。
本关任务:给定一个不带附加头结点的单链表L,返回单链表中最大值结点的指针。
根据提示,在右侧编辑器补充完成函数LinkNode *findMaxNode(LinkNode *L)代码,返回单链表L中最大值结点的指针。
平台会对你编写的代码进行测试:
测试输入:
5
3 7 9 2 8
预期输出:
最大值: 9
开始你的任务吧,祝你成功!
#include <bits/stdc++.h> using namespace std; #include "linklist.h" //包含单链表基本运算及实现 /** * 递归求单链表最大值。 * L为不带附加头结点的单链表的头指针。 * 返回值:指向具有最大值的结点的指针。 */ LinkNode *findMaxNode(LinkNode *L) { //请在下面填写代码 /**********************Begin**********************/ if(L->next== NULL) return L; else { LinkNode *maxp; maxp = findMaxNode(L->next); if(L->data > maxp->data) return L; else return maxp; } /***********************End***********************/ } //请勿改动下面的代码 int main(int argc, char *argv[]) { int n; cin >> n; //输入n int *a = new int[n]; //申请长度为n的数组 for (int i = 0; i < n; i++) cin >> a[i]; LinkNode *L = NULL; CreateList(L, a, n); // DispList(L); LinkNode *ptr_max = findMaxNode(L); if (ptr_max)cout << "最大值: " << ptr_max->data << endl; else cout << "error\n"; delete[] a; //释放数组 return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。