版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、动态数据结构第1页,共13页,2022年,5月20日,15点11分,星期一指 针1、引入指针类型的必要性(静态数据结构的弊端)(1)pascal系统为属于静态数据结构的变量提供了64KB的静态数据区,用户需求不能超出该存储空间。(2)静态数据结构的变量一经定义,pascal系统将自动为它们在静态数据区分配内存。在程序执行过程中,这些变量所占的存储空间大小固定不变,极有可能产生无谓的浪费。(3)在静态的数据序列中,增加或删除一个元素必须经过大量的数据移动才能实现。第2页,共13页,2022年,5月20日,15点11分,星期一指 针2、指针类型的定义格式Typepointer=数据基类型;Varp
2、:pointer;Varp: 数据基类型;数据基类型是指针所指向的存储单元存放的数据类型第3页,共13页,2022年,5月20日,15点11分,星期一指 针3、指针变量的引用Varptr1,ptr2: integer;i,t:integer;Begini:=10; ptr1:=i; t:=ptr1;ptr2:=20; ptr1:=ptr2;ptr1:=ptr2;End.ptr110i10t10ptr22020第4页,共13页,2022年,5月20日,15点11分,星期一指 针4、动态变量的生成和释放(1)生成动态变量New(指针变量)例:new(p)p一个指针变量只能存放一个地址,再次执行ne
3、w(p)语句,生成新单元,丢失原单元。功能:生成一个类型为指针基类型的存储单元,并将此存储单元的地址赋给指针变量。第5页,共13页,2022年,5月20日,15点11分,星期一指 针4、动态变量的生成和释放例:dispose(p)p功能:释放指针变量所指的存储单元,并使指针变量的值取nil。(2)释放动态变量dispose(指针变量)nilnil表示指针暂不指向任何变量。第6页,共13页,2022年,5月20日,15点11分,星期一指针的应用链表结构(1)每个框表示链表的一个元素结点。(2)每个结点包含两个域:一个放数据,为数据域;另一个存放后继结点的地址,为后继指针域。(3)链表的第一个结点
4、称为表头,指向表头的指针head称为头指针,头指针为nil时,链表为空链表。(4)表尾结点的后继指针域的值为nil。headnil第7页,共13页,2022年,5月20日,15点11分,星期一指针的应用链表结构1、单链表的定义结点数据域后继指针域记录类型Typepointer=element;element=record data:integer; next:pointer; end;Varp:pointer;ppdatanextp.datap.nextp.next第8页,共13页,2022年,5月20日,15点11分,星期一指针的应用链表结构2、建立链表ppheadNew (p);If n=
5、1 then head:=p else q.next:=p;q:=p;p:指向新建结点 q:指向当前结点q循环第9页,共13页,2022年,5月20日,15点11分,星期一指针的应用链表结构2、建立链表定义一个建立有n个结点的链表的过程。Procedure creat(var head:pointer;var n:integer);BeginHead:=nil; i:=0;While (in) doBeginNew(p);i:=i+1; read(p.data);If i=1 then head:=p else q.next:=p;q:=p;End;If headnil then q.next:=nil;Dispose(p);End.第10页,共13页,2022年,5月20日,15点11分,星期一指针的应用链表结构3、链表结点的插入pNew (p);Read(p.data);p.next:=q.next;q.next:=p;q第11页,共13页,2022年,5月20日,15点11分,星期一指针的应用链表结构4、链表结点的删除q.next:=p.next;dispose(p);qp第12页,共13页,2022年,5月20日,15点11分,星期一指针的应用链表结构练习利用随机函数建立一个具有50个结点的链表,每个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多发性内分泌腺瘤病I型诊断与治疗
- 浙江省绍兴县2027届中考物理考前最后一卷含解析
- 吉林省长春外国语校2027届中考五模物理试题含解析
- 前列腺炎物理疗法应用
- 了解各种医学影像技术的优缺点
- 面向大规模模型的分布式计算资源调度与推理效率优化技术研究
- 上市公司核心盈利能力指标综合分析手册
- ESG投资趋势与绿色债券市场展望的评估与预测
- 人工智能在实体经济中的应用案例
- 推动绿色基础设施建设的多元融资模式探索
- 企业融资申请书范本及填写指南
- 藏羌碉楼营造技艺传承-洞察及研究
- DB35∕T 1036-2023 10kV及以下电力用户业扩工程技术规范
- 河北食品经营许可现场核查表及核查意见(食品销售)
- 数字智慧方案5445丨企业碳资产管理案例分享北京环境交
- 《奶牛的饲养管理》课件
- 中国文化概论教学课件
- 冷库储存生姜合同范例
- 气管切开套管的选择与更换
- GB/T 9799-2024金属及其他无机覆盖层钢铁上经过处理的锌电镀层
- 半球电压力锅说明书
评论
0/150
提交评论