赞
踩
本题要求实现一个函数,返回带头结点的单链表中最大元素的地址。
LinkList MaxP( LinkList L);
L是带头结点的单链表的头指针,函数MaxP返回表中最大元素的地址。如果单链表为空,返回空指针。
其中LinkList结构定义如下:
- typedef struct LNode
- {
- ElemType data;
- struct LNode *next;
- }LNode,*LinkList;
-
- #include <stdio.h>
- #include <stdlib.h>
-
- typedef int ElemType;
- typedef struct LNode
- {
- ElemType data;
- struct LNode *next;
- }LNode,*LinkList;
-
- LinkList Create();/* 细节在此不表 */
-
- LinkList MaxP( LinkList L);
-
- int main()
- {
- LinkList L,p;
- ElemType e;
- L = Create();
- p = MaxP(L);
- if(p)
- printf("%d\n", p->data);
- else
- printf("NULL");
- return 0;
- }
-
- /* 你的代码将被嵌在这里 */
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
输入数据为1行,给出以-1结束的单链表元素(-1不属于单链表元素),所有数据之间用空格分隔。
2 5 4 5 3 -1
5
- LinkList MaxP( LinkList L){
- if(L==NULL||L->next==NULL)return NULL;
- else{
- LinkList p;
- LinkList MAX;
- p=L->next;
- MAX=p;
- while(p){
- if(p->data>MAX->data){
- MAX=p;
- }
- p=p->next;
- }
- return MAX;
- }
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。