- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机软件基础(自考本科)(1.8)
四、单循环链表 2.单循环链表的删除运算 例如:一个单循环链表,没有头指针只有尾指针r,试 写出删除尾指针r的前一个节点。 a1 an-2 an r a0 … an-1 四、单循环链表 2.单循环链表的删除运算 a1 an-2 an r a0 … an-1 Step1:找出r节点前前的那个节点p; Step2:让q指向 p的下一个节点; Step3:从链表中删除q所指向的节点; Step3:回收q。 p p-next q p-next-next 四、单循环链表 2.单循环链表的删除运算 void delete (r) { struct node *p,*q; //定义两个node型指针p和q p=r-next; //让p指向r的后继节点(给p赋初值) while(p-next-next != r) //找r节点的前前节点 { p=p-next; } q=p-next; //将要删除节点的地址保存到q中 p-next=r; //从链表中删除q free(q); //回收被删除节点q的空间 } 桂林电子科技大学 GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY 桂林电子科技大学 GUILIN UNIVERSITY OF ELECTRONIC TECHNOLOGY 计算机 软件基础 第二篇 数据结构基础 第八章 线性表(linear list) 一、线性表的概念 1.线性表的逻辑结构 (1)线性表:是由n(n ≥0)个数据节点 a0,a1 ,…,an-1组成的有限序列。 (2)线性表的逻辑结构特征: ①对于非空线性表: 有且仅有一个开始节点,该节点有且仅有一个直接的后继; 有且只有一个终结节点,该节点有且仅有一个直接的前驱; 其余内部节点有且仅有一个直接前驱和一个直接后继。 一、线性表的概念 (2)线性表的逻辑结构特征: ②同一个线性表中的数据节点具有相同的属性。 ③线性表长度:线性表中数据节点的个数。 2. 线性表的存储结构 (1)顺序存储结构:顺序表结构; (2)链式存储结构:链表结构; 二、顺序表 1.顺序表 (1)顺序表: 把线性表中的数据节点按其逻辑顺序依次存放到计算机内存中的一连续空间中,将这一连续空间称为顺序表。 (2)顺序表中数据节点地址的计算 Loc(ai)=loc(a0)+i*d (0≤i≤n-1) 二、顺序表 1.顺序表 (3)顺序表C语言描述: struct sequenlist { datatype a[listsize]; //表示线性表有(a0,a1 ,...,an-1) int length; //length表示线性表的实际长度 }; 二、顺序表 2.顺序表的基本运算——查找 struct sequenlist /*构建sequenlist型*/ { datatype data[listsize]; int length; }; struct sequenlist L; /*定义sequenlist变量L*/ int find(struct sequenlist L , datatype x) /*定义find函数*/ { int i=0; while(iL.lengthL.data[i]!=x) i++; if(iL.length) return(i); /*如果找到了,则返回数值i*/ else return(0); /*如果找不到,则返回数值0*/ } 二、顺序表 一个完整的查找程序: #includestdio.h #define listsize 50 struct sequenlist /*构建sequenlist型*/ { int data[listsize]; int length; }; struct sequenlist L; /*定义sequenlist变量L*/ int find(struct sequenlist L , int x) /*定义find函数*/ { int i=0; while(iL.lengthL.
您可能关注的文档
最近下载
- 广东长大美国科来福道路预防性养护和桥梁无缝伸缩缝系统工艺.pptx VIP
- 九年一贯制学校管理.pptx VIP
- 人力资源服务公司章程(申请人力资源许可证参考用).pdf VIP
- 四川大学生物医学工程基础课件.ppt
- 马克思的剩余价值理论课件(PPT 33页).ppt VIP
- SOC-OCV电池测试报告.docx VIP
- 纯化过滤专题报告之一:离子交换与吸附树脂行业报告,纯,现代工业生产中极致的魅力.pdf VIP
- 人类辅助生殖技术和人类精子库伦理原则.doc VIP
- 投标项目总体架构及技术解决方案.docx VIP
- 高二奋发+勇攀高峰+课件--2025-2026学年高二上学期开学第一课主题班会.pptx VIP
文档评论(0)