免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3347 | 回复: 2
打印 上一主题 下一主题

单链表用头结点记录结点个数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-24 13:22 |只看该作者 |倒序浏览
定义一个结点结构体,我用头结点的数据域存放当前结点的个数,结点个数是 int 类型,而数据域是抽象类型,不知道要不要类型转换
  1. typedef struct ListNode
  2. {
  3.         DataType data;       //数据域
  4.         struct ListNode *next;      //指针域
  5. }ListNode;

  6. /*本程序头结点的 size 记为 -1,首元结点 size 记为 0 */

  7. /*初始化头结点*/
  8. ListNode* Head()
  9. {
  10.         ListNode *node = (ListNode*)malloc(sizeof(ListNode));
  11.         if(node == NULL)
  12.         {
  13.                 printf("内存申请失败!");
  14.                 exit(0);
  15.         }

  16.         node->data = 0;       //用头结点的 data 域记录结点个数          //不知道要不要类型转换
  17.         node->next = NULL;       

  18.         return node;
  19. }
复制代码

论坛徽章:
0
2 [报告]
发表于 2012-04-24 13:27 |只看该作者
不知道大家写程序时都怎么储存结点个数,我感觉把结点个数随时保存下来会为其它操作方便很多

论坛徽章:
0
3 [报告]
发表于 2012-04-26 18:01 |只看该作者
我觉得单链表存储长度用处不是很大,存储长度的话就是获取链表总长度时方便,其他操作我觉得没太大用,插入和删除一个节点还是要遍历整个链表
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP