赞
踩
本关任务:利用单链表表示一个整数序列,利用递归的方法求出单链表中整数的最大值。
多组数据,每组数据有两行,第一行为链表的长度n,第二行为链表的n个元素(元素之间用空格分隔)。当n=0时输入结束。
对于每组数据分别输出一行,输出每个链表的最大值。
- #include <iostream>
-
- using namespace std;
- typedef struct LNode {
- int data;
- struct LNode * next;
- }
- LNode, * linkList;
- void CreateList_R(linkList & L, int n) { //后插法创建单链表
- L = new LNode;
- L -> next = NULL;
- linkList r = L;
- for (int i = 0; i < n; i++) {
- linkList p = new LNode;
- cin >> p -> data;
- p -> next = NULL;
- r -> next = p;
- r = p;
- }
- }
- int GetMax(LinkList L)
- {
- if( L == nullptr)
- return INT32_MIN;
- return max(L->data, GetMax(L->next));
- }
- int main() {
- int n;
- while (cin >> n) {
- if (n == 0) break;
- linkList L;
- CreateList_R(L, n);
- L = L -> next; //指向首元结点
- cout << GetMax(L) << endl;
- }
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。