2021-05-19 数据结构 线性表补充

2021-5-19 数据结构 线性表补充

静态列表

为没有指针的高级语言设计的一种实现单链表能力的方法

包括:1.数据域data         2.游标(int型)cur

游标表示本身对象指向的下一个对象在数组中的下标,当下一个对象为空时,cur=0。

数组第一个元素的游标指向备用链表(无数据存入的数组空间)第一个元素。

数组最后一个元素的游标指向第一个存储了数据的下标。

游标指向4230    1
数据第一    最后
数组下标0123456.........999

 

插入操作(重点观察游标的变化)

插入一个"丙"数据位于"乙""丁"之间

游标指向52403   1
数据第一   最后
数组下标0123456.........999

 

删除操作(重点观察游标的变化)

删除甲数据

游标指向1 403   2
数据第一    最后
数组下标0123456.........999

 

循环列表

单列表中终端节点的指针由NULL变为指向头结点

与单列表的主要差异:判断循环的条件不同,由p->next=NULL变为p->next=head

可以增加一个尾指针rear,使得读取尾端结点的复杂程度由0(n)变为0(1)

借助尾指针实现两个循环列表的相加

假设现有循环列表A和B,则实现A和B相加的代码为

p=rearA->next;        \\使得p暂时保存着A的头指针
rearA->next=rearB->next-next;        \\A的尾指针rearA指向B的头结点而不是A的头指针
                                                   \\具体情况具体对待
rearB->next=p;           \\p的尾指针指向A的头指针
delete p;                \\释放p

双向列表

在单列表的每个指针域中增加一个指向前一个数据地址的指针。

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值