建立单向链表

建立单向链表

  • 链表本质上是用指针链接起来的多个结构体,所以建立链表的第一步就是定义一个结构体变量
    struct libi {int data; struct libi *next; }
  • 第二步定义头节点与结构体指针struct libi *head,*p,*p1;
  • 第三步为其申请空间,使用malloc函数(包含在stdlib.h函数库中)head=p=(struct libi*)malloc(sizeof(struct libi));p1=(struct libi*)malloc(sizeof(struct libi));
  • 第四步输入数据并把结构体链接起来,需要使用循环语句读入数据,并继续申请空间
    代码如下while(1) { scanf("%d",&p1->data); if(p1->data==-1) break; head->next=p1; p=p1; p1=(struct ListNode*)malloc(sizeof(struct ListNode)); }这里假设遇到-1结束
  • 输入结束后将链表的尾节点的指针域置空并释放多申请的P1的空间p->next=NULL; free(p1);
  • 此时一个单向链表便建立完成,head便是其头节点
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值