动态数据结构教学.ppt

第十二章 动态数据结构 管理动态变量 动态数据结构 栈 ── stack 队列 ── queue 链表——linkage table 树——tree 图—— graph 程序设计实例 本章小结 作业 考虑上一章的职工卡片问题,用计算机管理这些卡片, 要把卡片保存在计算机内。 首先,用什么数据结构存储:一张卡片是一个结构体,所有卡片自然用结构体数组。 第三,操作问题: 若增加一个人,应该在数组中加一个元素,会产生数组不够大的可能。 若增加一张卡片在数组中间,应该把加入位置以后的其它元素依次向后移动。 若在中间删除一张卡片,会在数组中间留下一个“洞”,应该把“洞”以后的元素依次向前移动 使用数组带来的问题是: 操作不方便; 数组尺寸不好确定。 第二,数组多大:为保存全部卡片,并且人数不固定,就应该给一个足够大的数组。 最好把这些卡片存储成动态的, 需要多大存储量(有多少张卡片)就用多大。 中间加一张卡片时不要向后串别的卡片, 删除一张卡片时不要留下“洞”。 如图的链式结构可以满足要求: 当增加一张卡片时,只需要向计算机系统申请一块空间,联到链的适当位置上。例如,要增加一张卡片 50 插入到 2 、3 之间,则只需要如下修改指针: 若删除一节,只需要将其从链上摘下来即可。例删除2节得 链上已经没有2节了,删掉的节所占的存储空间还可以还回计算机系统,以便作其它用途。 1 2 3

文档评论(0)

1亿VIP精品文档

相关文档