c语言单链表求最小值,设有一个由正整数组成的单链表L(含头结点),编写完成下列功能的算法:找出最小值结点P, 若最小值是...

满意答案

00e27ab806e4881f8254fe7ae8741834.png

srxgb

2018.10.16

00e27ab806e4881f8254fe7ae8741834.png

采纳率:47%    等级:12

已帮助:18082人

#include #include typedef struct Lnode{ int data; struct Lnode *next; }Lnode,*Linklist; Linklist L; Linklist ListInit(Linklist Head, int n) { Linklist p; int i; for(i = 0; i n; i ++) { p = (Linklist)malloc(sizeof(Lnode)); p->next = Head; Head = p; } return Head; } Linklist ListReleas(Linklist Head) { Linklist p = Head; while(Head) { p = Head; Head=p->next; free(p); } return Head; } int main() { Linklist Head = NULL, p = NULL, q = NULL; int count[3] = {0}, n, inum; printf("输入节点数:"); scanf("%d", &n); Head = ListInit(Head, n); printf("输入每个节点值(共%d个):\n", n); p = Head; while( p != NULL ) { scanf("%d", &p->data); p = p->next; } //找出最小值 q = Head; p = Head; while( p != NULL ) { if(p->data q->data) q = p; p = p->next; } printf("最小值为:%d\n",q->data); //以下为第一次输出 p = Head; while( p != NULL ) { printf("%d ", p->data); p = p->next; } printf("\n"); //奇偶判断并进行处理 if(q->data % 2) { if(q->next) { inum = q->data; q->data = q->next->data; q->next->data = inum; } } else { while(q->next) { p = q->next; q->next = p->next; free(p); } } //以下为修改后输出 p = Head; while( p != NULL ) { printf("%d ", p->data); p = p->next; } printf("\n"); ListReleas(Head); return 0; }

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值