标准C程序设计(九)

20 篇文章 0 订阅
  13.6 链表
     13.6.1 链表的概念
   我们知道,列表是指按序组成的项集。数组就是一种列表。在数组中,其顺序是由其索引隐式的给定的。我们就是使用索引来访问和操作数组元素的。关于数组的一个重要问题是数组的大小必须在开始时就精确的指定。正如前面所指出,这在很多实际的应用中是件困难的事。
   一个完全不同的列表表示方法是用结构体表示一个列表成员,它含有指向下一个结构体的“链接”,如图所示。这种列表称为链表,因为它是一种列表,其顺序由该项与下一项的链接给定。

    链表的每个结构体称为节点,它由两个字段组成,一个包含数据项,另一个包含指向链表中下一个数据项的地址(即指向下一个数据项的指针)。因此,链表是结构体集合,其顺序不是由他们在内存中的物理位置(像数组一样)确定的,而是由其逻辑链接(他作为结构体的部分数据存储在其中)确定的。这种链接是指向同类型的另一个结构体的指针。这种结构体表示如下:
struct node{
    int key;
    struct node *next;
};

     13.6.2 链表的操作
    链表的操作是链表的重点,稍后我会附上代码实例。这里先介绍有哪些基本操作:
  1. 创建链表
  2. 遍历链表
  3. 计算链表中的数据项目
  4. 显示链表(或子链表)
  5. 查找某数据项,用于编辑或显示
  6. 插入一个数据项
  7. 删除一个数据项
  8. 连接两个链表


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值