查找链表中的最大值
描述
利用单链表表示一个整数序列,通过一趟遍历在单链表中确定值最大的结点。
输入
多组数据,每组数据有两行,第一行为链表的长度n,第二行为链表的n个元素(元素之间用空格分隔)。当n=0时输入结束。
输出
对于每组数据分别输出一行,输出每个链表的最大值。
输入样例 1
5 2 1 3 5 4 6 2 3 10 4 5 1 4 -1 -2 -3 -4 0
输出样例 1
5 10 -1
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> #define MAXSIZE 1000 #define OVERFLOW -2 #define OK 1 #define ERROR 0 typedef struct LNode{ int num; struct LNode *next; }LNode,* LinkList; void Inist_List(LinkList& L){ L=new LNode; L->next=NULL; } void Zuhe(LinkList& L1){ LinkList H1=L1; int m,n; while(1){ scanf("%d",&m); if(m==0) break; for(int i=0;i<m;i++){ LinkList p= new LNode; scanf("%d",&p->num); p->next=NULL; L1->next=p; L1=p; } L1=H1; LinkList q=L1->next; int t=q->num; for(q=q->next;q!=NULL;q=q->next){ if(q->num>t) t=q->num; } printf("%d\n",t); } } int main(){ LinkList L1; Inist_List(L1); Zuhe(L1); return 0; }

浙公网安备 33010602011771号