当前位置:   article > 正文

问题 I: 第9关:递归求解单链表中的最大值_用递归求链表最大值

用递归求链表最大值

题目描述

本关任务:利用单链表表示一个整数序列,利用递归的方法求出单链表中整数的最大值。

 

输入描述

多组数据,每组数据有两行,第一行为链表的长度n,第二行为链表的n个元素(元素之间用空格分隔)。当n=0时输入结束。

 

输出描述

对于每组数据分别输出一行,输出每个链表的最大值

 

fc04db4c4b40409bada913072d0f4679.png

 

代码实现 

  1. #include <iostream>
  2. using namespace std;
  3. typedef struct LNode {
  4. int data;
  5. struct LNode * next;
  6. }
  7. LNode, * linkList;
  8. void CreateList_R(linkList & L, int n) { //后插法创建单链表
  9. L = new LNode;
  10. L -> next = NULL;
  11. linkList r = L;
  12. for (int i = 0; i < n; i++) {
  13. linkList p = new LNode;
  14. cin >> p -> data;
  15. p -> next = NULL;
  16. r -> next = p;
  17. r = p;
  18. }
  19. }
  20. int GetMax(LinkList L)
  21. {
  22. if( L == nullptr)
  23. return INT32_MIN;
  24. return max(L->data, GetMax(L->next));
  25. }
  26. int main() {
  27. int n;
  28. while (cin >> n) {
  29. if (n == 0) break;
  30. linkList L;
  31. CreateList_R(L, n);
  32. L = L -> next; //指向首元结点
  33. cout << GetMax(L) << endl;
  34. }
  35. return 0;
  36. }

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/852763
推荐阅读
相关标签
  

闽ICP备14008679号