C语言链表

链表是最常见的线性结构,往往用于较大数据的存储、查询等。

优点:增删操作非常快捷(弥补了数组插入、删除效率低;普通数组无法动态扩展;分配过大会导致资源浪费的缺点);

缺点:1、不能对元素随机存取(必须一个接一个查找或存取,无法跳过);

2、不能逆序(从下一个结点到上一个结点)遍历元素;

//原因:需要找到元素的位置

链表的组成:

数据域:存储数据

指针域:存下一个数据的地址

注意事项:
  1. 内存地址不一定连续,元素之间采用指针关联

  1. 链表要动态分配内存,新增结点需要分配内存,删除结点需要释放内存

  1. 链表查询慢(需要找到要查询数据的地址),增删快(有指针,不需要移动元素);数组查询快(有索引),增删慢(需要移动元素)

  1. 单向链表只能从前往后遍历

结点的创建:
链表的初始化:
链表的插入:
链表的删除:
链表清空:
链表的销毁:

注:清空和销毁的区别在于,清空链表后,依然可以使用链表,但销毁链表后,就不可以使用了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值