您的位置:首页 > 其它

65.输出单向链表中节点上最大值

2015-06-25 14:13 453 查看
给定程序是建立一个带头的节点的单项链表,并用随机函数为各节点数据赋值。函数fun的作用是求出单项链表节点(不包括头结点)数据中的最大值,并作为函数值得返回值。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
typedef struct aa
{
int data;
struct aa *next;
}NODE;
int fun(NODE *h)
{
int max = -1;
NODE *p;
p = h->next;
while (p)
{
if (p->data > max)
max = p->data;
p = p->next;
}
return max;
}
outresult(int s, FILE *fp)
{
fprintf(fp, "The max in link :%d\n", s);
}
NODE *creatlist(int n, int m)
{
NODE *h, *p, *s;
int i;
h = p = (NODE *)malloc(sizeof(NODE));
h->data = 9999;
for (i = 1;i <= n;i++)
{
s = (NODE *)malloc(sizeof(NODE));
s->data = rand() % m;
s->next = NULL;
p->next = s;
p = p->next;
}
p->next = NULL;
return h;
}
outlink(NODE *h, FILE *fp)
{
NODE *p;
p = h->next;
fprintf(fp, "\nThe List:\n\n  Head");
while (p)
{
fprintf(fp, "->%d", p->data);
p = p->next;
}
fprintf(fp, "\n");

}
int main()
{
NODE *head;
int m;
head = creatlist(12, 100);
outlink(head, stdout);
m = fun(head);
printf("\nThe Result :\n");
outresult(m, stdout);
getchar();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: