求助,求助C语言结构体

qq_41120254 2017-11-20 06:08:15
...全文
112 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-11-21
  • 打赏
  • 举报
回复
数据结构对单链表进行数据排序 http://bbs.csdn.net/topics/392201633
老马何以识途 2017-11-21
  • 打赏
  • 举报
回复
还有其他的问题: 1.create_list函数中,第一次分配内存是给了L,而循环中是输入到p中,注意第一次循环时p是个野指针。应该改为第一次分配内存就给p。 2.函数M做什么用的?看起来好像有排序,但La和Lb都不是有序链表,M做排序有什么意义?搞清楚目标,才知道这个函数该怎么改。
自信男孩 2017-11-20
  • 打赏
  • 举报
回复
LinkList是struct LNODE **的别名,因此,LinkList *L就是struct LNODE **L;所以,L无法直接使用next结构体成员,需要(*L)->next; M 函数里一样;
pa = (*La)->next;
pb = (*Lb)->next;
程序存在内存泄露,比如La和Lb链表插入到Lc链表里,没有用到的La或Lb节点应该free掉;
老马何以识途 2017-11-20
  • 打赏
  • 举报
回复
请注意,你已经把LinkList定义为struct LNODE *了,因此所有的LinkList *都是struct LNODE **。比如create_list中的这一句:

L->next = NULL;
应该改为

(*L)->next = NULL;
其他各处也按此修改。

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧