- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第02章要点
第2章 线性表 2.1 线性表抽象数据类型 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 (2)头指针、头结点和首元结点的区别 2.4 循环单链表 2.5 双向链表 2.6 静态链表 2.7 设计举例 作业 (3)插入ListInsert(head, i, x) int ListInsert(SLNode *head, int i, DataType x) { SLNode *p, *q; int j; ? p = head; j = -1; while(p-next != NULL j i - 1) { p = p-next; j++; } if(j != i - 1) { printf(“插入位置参数错!”); return 0; } q = (SLNode *)malloc(sizeof(SLNode)); q-data = x; q-next = p-next; p-next = q; return 1; } 说明:①要在带头结点的单链表第i(0 ≤ i ≤ size)个结点前插入一个存放数据元素x的结点,首先要在单链表中寻找到第i-1个结点并由指针p指示,然后动态申请一个结点存储空间并由指针q指示,并把数据元素x的值赋予新结点的数据元素域(即q-data = x),最后修改新结点的指针域指向ai结点(即q-next = p-next),并修改ai-1结点的指针域指向新结点q(即p-next = q)。 ②循环条件由两个子条件逻辑与组成,其中子条件p-next != NULL保证指针所指结点存在,子条件j i - 1保证最终让指针p指向ai-1结点。 (4)删除ListDelete(head, i, x) int ListDelete(SLNode *head, int i, DataType *x) { SLNode *p, *s; int j; ? p = head; j = -1; while(p-next != NULL p-next-next!= NULL j i - 1) { p = p-next; j++; } if(j != i - 1) { printf(“插入位置参数错!”); return 0; } ? s = p-next; *x = s-data; p-next = p-next-next; free(s); return 1; }? 说明:要在带头结点的单链表中删除第i(0 ≤ i ≤ size - 1)个结点,首先要在单链表中寻找到第i-1个结点并由指针p指示,然后让指针s指向ai结点(即s = p-next),并把数据元素ai的值赋予x(即*x = s-data),最后把ai结点脱链(即p-next = p-next-next),并动态释放ai结点的存储空间(即free(s))。删除过程如图2-14所示。图中的①对应算法中的删除语句。 (5)取数据元素ListGet(head, i, x) int ListGet(SLNode *head, int i, DataType *x) { SLNode *p; int j; ? p = head; j = -1; while(p-next != NULL j i) { p = p-next; j++; } ? if(j != i) { printf(“取元素位置参数错!”); return 0; } ? *x = p-data; return 1; } (6)撤消单链表Destroy(head) void Destroy(SLNode **head) { SLNode *p, *p1; ? p = *head; while(p != NULL)
您可能关注的文档
- 数据库及程序设计01.pptx
- 数据库上课 第八讲 数据库的安全性与完整性.ppt
- 数据库实验.doc
- 数据库恢复.ppt
- 数据库模式设计及其规范化.ppt
- 数据库系统10.pptx
- 数据库系统5.pptx
- 班级教育管理的与跨越.ppt
- 数据库系统及应用教程期末复习.docx
- 数据库第8章.ppt
- 湖南省张家界市沣源中学2022年高二语文期末试卷含解析.docx
- 湖北省黄冈市黄州区第一中学高一地理联考试卷含解析.docx
- 高考语文作文指导高考隐喻性作文走向深刻的途径.docx
- 湖南省益阳市沅江第二高级中学2020-2021学年高二生物下学期期末试题含解析.docx
- 湖北省十堰市郧西县第四中学高二语文上学期期末试卷含解析.docx
- 湖南省娄底市水江中学2021年高三物理模拟试题含解析.docx
- 勇攀高峰,希望如星.pptx
- 浙江省杭州市康桥中学高一物理下学期期末试题含解析.docx
- 浙江省湖州市龙山中学高三物理下学期期末试题含解析.docx
- 湖北省荆州市石首老山咀中学2022年高一语文期末试卷含解析.docx
文档评论(0)