完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
数据结构中的链表冒泡排序 的输出结果总不对,不知道为什么,请大家帮帮忙!谢谢
程序如下: #include #include #include typedef struct list { int num; struct list * pnext; }NODE,* PNODE; int lenth; PNODE creat_list(void);//前置声明。 void travelse_list(PNODE);//前置声明。 bool is_empty(PNODE phead);//前置声明。 void sort_list(PNODE phead);//前置声明。 int count_list(PNODE phead);//前置声明。 int main(void) //程序入口。 { PNODE phead; phead = NULL; phead = creat_list(); //travelse_list(phead); is_empty(phead); int lenth = count_list(phead); sort_list(phead); travelse_list(phead); return 0; } //程序出口。 PNODE creat_list(void) //creat_list()(创建链表)函数定义。 { PNODE phead = (PNODE)malloc(sizeof(NODE)); if(NULL == phead) { printf("内存分配失败!n"); exit(-1); } PNODE ptail = phead; phead->pnext = NULL; int len; printf("请输入链表的节点数 len = "); scanf("%d",&len); if(0 == len) return phead; printf("请输入各节点的有效数据:n"); for(int i = 0;i < len;i++) { int val; scanf("%d",&val); PNODE pnew = (PNODE)malloc(sizeof(NODE)); if(NULL == phead) { printf("内存分配失败!n"); exit(-1); } pnew->num = val; ptail->pnext = pnew; pnew->pnext = NULL; ptail = pnew; } return phead; } //creat_list()(创建链表)函数定义完毕。 void travelse_list(PNODE phead)//travelse_list()(遍历链表)函数定义。 { PNODE p = phead->pnext; if(NULL == p) return; printf("n输出的结果是:n"); while(NULL != p) { printf("%dn",p->num); p = p->pnext; } return; } //travelse_list()(遍历链表)函数定义完毕。 bool is_empty(PNODE phead)//is_emoty()(判断链表是否为空)函数定义。 { if(NULL == phead->pnext) { printf("该链表为空!n"); return true; } else return false; } //is_emoty()(判断链表是否为空)函数定义完毕。 int count_list(PNODE phead)//counst_list()(求链表元素个数)函数定义。 { PNODE p = phead->pnext; if(NULL == p) return 0; int len = 0; while(NULL != p) { len++; p = p->pnext; } printf("n此链表的有效数据的个数是:n %d n",len); return len; } //counst_list()(求链表元素个数)函数定义完毕。 void sort_list(PNODE phead)//sort_list()(将链表元素冒泡排序)函数定义。 { int i,j,t; PNODE p,q; for(i = 0,p = phead->pnext;i < lenth-1;++i,p = p->pnext) { for(j = i+1,q = p->pnext;j < lenth;++j,q = q->pnext) { if(p->num >= q->num) { t = p->num; p->num = q->num; q->num = t; } } } return; } //sort_list()(将链表元素冒泡排序)函数定义完毕。 |
|
相关推荐
1个回答
|
|
认真思考认真思考认真思考认真思考认真思考认真思考
|
|
|
|
只有小组成员才能发言,加入小组>>
12178 浏览 2 评论
4495 浏览 3 评论
3748 浏览 5 评论
9749 浏览 47 评论
4589 浏览 9 评论
742浏览 0评论
551浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 22:29 , Processed in 0.469331 second(s), Total 86, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号