数据结构教程 第七课 第八课 线性表的链式表示与实现_第1页
数据结构教程 第七课 第八课 线性表的链式表示与实现_第2页
数据结构教程 第七课 第八课 线性表的链式表示与实现_第3页
数据结构教程 第七课 第八课 线性表的链式表示与实现_第4页
数据结构教程 第七课 第八课 线性表的链式表示与实现_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本课主题: 实验一 线性表的顺序存储实验教学目的: 掌握顺序表的定义及操作的C语言实现方法教学重点: 顺序表的操作的C语言实现方法教学难点: 顺序表的操作的C语言实现方法实验内容:利用顺序表完成一个班级的一个学期的所有课程的管理:能够增加、删除、修改学生的成绩记录。实验要求:在上机前写出全部源程序。 本课主题: 线性表的链式表示与实现教学目的: 掌握线性链表、单链表、静态链表的概念、表示及实现方法教学重点: 线性链表之单链表的表示及实现方法。教学难点: 线性链表的概念。授课内容:一、复习顺序表的定义。二、线性链表的概念:以链式结构存储的线性表称之为线性链表。特点是该线性表中的数据元素

2、可以用任意的存储单元来存储。线性表中逻辑相邻的两元素的存储空间可以是不连续的。为表示逻辑上的顺序关系,对表的每个数据元素除存储本身的信息之外,还需存储一个指示其直接衙继的信息。这两部分信息组成数据元素的存储映象,称为结点。2000:10002000:10102000:10202000:10302000:10402000:10502000:1060.2000:4000头指针2000:10062000:1030a32000:1040a6NULLa12000:1060a42000:1050a52000:1020a22000:1010数据域指针域    

3、0;<-数据域+指针域     例:下图是若干抽屉,每个抽屉中放一个数据元素和一个指向后继元素的指针,一号抽屉中放线性表的第一个元素,它的下一个即第二个元素的位置标为5,即放在第5个抽屉中,而第三个放在2号抽屉中。第三个元素即为最后一个,它的下一个元素的指针标为空,用0表示。用线性链表表示线性表时,数据元素之间的逻辑关系是由结点中的指针指示的二、线性链表的存储实现struct LNODEElemType data;struct LNODE *next;typedef struct LNODE LNode;typedef struct LN

4、ODE * LinkList;头指针与头结点的区别:头指针只相当于结点的指针域,头结点即整个线性链表的第一个结点,它的数据域可以放数据元素,也可以放线性表的长度等附加信息,也可以不存储任何信息。三、线性表的操作实现(类C语言)1初始化操作Status Init_L(LinkList L)if (L=(LinkList *)malloc(sizeof(LNode)L->next=NULL;return 1;else return 0;2插入操作Status ListInsert_L(LinkList &L,int i,ElemType e)p=L,j=0;while(p&&

5、amp;j<i-1)p=p->next;+j;if(!p|j>i-1) return ERROR;s=(LinkList)malloc(sizeof(LNode);s->data=e;s->next=p->next;p->next=s;return OK;/ListInsert_L3删除操作Status ListDelete_L(LinkList &L,int i,ElemType &e)p=L,j=0;while(p&&j<i-1)p=p->next;+j;if(!p->next|j>i-1)

6、return ERROR;q=p->next;p->next=q->next;e=q->data;free(q);return OK;/ListDelete_L4取某序号元素的操作Status GetElem_L(LinkList &L,int i,ElemType &e)p=L->next,j=1;while(p&&j<i)p=p->next;+j;if(!p|j>i) return ERROR;e=p->data;return OK;/GetElem_L5归并两个单链表的算法void MergeList_L(LinkList &La,LinkList &Lb,LinkList &Lc)/已知单链线性表La和Lb的元素按值非递减排列/归并后得到新的单链线性表Lc,元素也按值非递减排列pa=La->next;pb=Lb->next;Lc=pc=La;while(pa&&pb)if(pa->data<=pb->data)pc->next=pa;pc=pa;pa=pa->next;elsepc->next=pb;pc=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论