永发信息网

C语言,编写程序。已知head指向一个带头结点的单向链表,链表中每个结点包含数据域(date)和指

答案:1  悬赏:0  手机版
解决时间 2021-03-02 00:45
C语言,编写程序。已知head指向一个带头结点的单向链表,链表中每个结点包含数据域(date)和指
最佳答案
#include
#include
typedef struct _Node
{
int data;
_Node *next;
}Node,*List;

int getMax_Value(List head)
{
if (head->next == NULL)
{
printf("链表中没有节点.
");
exit(-1);
}
Node *ptr = head->next;
int max = ptr->data;
while (ptr->next != NULL)
{
ptr = ptr->next;
if (ptr->data > max)
{
max = ptr->data;
}
}
return max;
}

Node* getMax_Address(List head)
{
if (head->next == NULL)
{
printf("链表中没有节点.
");
exit(-1);
}
Node *ptr = head->next;
Node *max_address = ptr;
while (ptr->next != NULL)
{
ptr = ptr->next;
if (ptr->data > max_address->data)
{
max_address = ptr;
}
}
return max_address;
}

List creatList(int num)//num为创建节点个数
{
List head = (Node*)malloc(sizeof(Node));
head->data = 0;
head->next = NULL;
Node *ptr = head;
Node *node = NULL;
int data;
while (num)
{
printf("请输入节点则值:");
scanf("%d", &data);
node = (Node*)malloc(sizeof(Node));
node->data = data;
node->next = NULL;
ptr->next = node;
ptr = node;
head->data++;
num--;
}
return head;
}

void freeList(List head)
{
Node* ptr = head;
while (head)
{
head = ptr->next;
free(ptr);
ptr = head;
}
}

int main()
{
List head=creatList(5);
printf("链表的最大值为:%d
", getMax_Value(head));
printf("链表最大值的地址为:0x%x,%d
", getMax_Address(head), (getMax_Address(head))->data);
freeList(head);
return 0;
}追问
运行不出来呀追答用的vc6.0编译器?将结构体定义里面_Node *next改为struct _Node *next
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
水楼怎么使用
中学生有身份证可以买火车票吗
苏州吴中区富平五金加工厂地址在什么地方,想
如果没带摇表,用万用表,测量电动机是否绝缘.
孟德尔将纯种黄色圆粒豌豆与纯种绿色皱粒豌豆
新业机电设备经销维修部我想知道这个在什么地
hp5200三个灯都亮白屏怎么回事自检过不去
骏富酒业我想知道这个在什么地方
恶人害人利己,死后下地狱,受种种苦, 善人
家家旺超市地址在什么地方,想过去办事
去整别人的车如果被发现了,报警要被拘留吗
有糖看广告赚钱?可信吗?
have got = had got吗?
鼻子两侧肉多怎么去除
柯南和火影哪个更火?
推荐资讯
什么条件下国家可以强制征收私人财产
河南省商城批发小鸭苗哪里有
以那一次我真什么为题
标量和矢量的区别是什么
架构 日语 怎么说
驾考理论学习打卡离杨家坪最近的在什么地方
极品飞车9保时捷Cayman S性能调教
别人说李嘉诚的儿子一天赚得钱比李嘉诚赚一辈
10个字的成语
【唯独的近义词】唯独的近义词是什么
广州沙河离昌刚地铁站近吗
错误395000到底怎么解决
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?