数据结构单链表.ppt
《数据结构单链表.ppt》由会员分享,可在线阅读,更多相关《数据结构单链表.ppt(36页珍藏版)》请在课桌文档上搜索。
1、上堂课要点回顾,线性表的抽象数据类型定义顺序表类型定义基本操作实现应用,数据结构课程内容,第 三 次 课,阅读:朱战立,第26-35页练习:作业3,2.3 线性表的链式表示和实现 链表,链式存储结构 定义:用一组任意的存储单元来存放线性表 中的数据元素。特点:逻辑结构上相邻的元素在其存储的物 理位置上不一定相邻。通过指针把链表的存储结点链接成一 个链。,2.3.1 单链表的存储结构,结点结构:链表每个结点中只有一个指针 域指向直接后继结点。,结点类型定义(借用指针类型)typedef int DataType;typedef struct Node DataType data;struct N
2、ode*next;/递归定义 SLNode;/*单链表结点结构体类型SLNode*/,SLNode*head;,数据域:元素本身信息指针域:指示直接后继的存储位置,a0,a1,a2,an-1,head,空表:,非空表:,单链表的逻辑状态,首元结点,l1-next=l2;l2-next=l3;l3-next=NULL;,SLNode*l1=(SLNode*)malloc(sizeof(SLNode);SLNode*l2=(SLNode*)malloc(sizeof(SLNode);SLNode*l3=(SLNode*)malloc(sizeof(SLNode);l1-data=7;l2-data
3、=0;l3-data=6;,l1,l2,l3,sizeof(x)计算变量x的所占的字节数malloc(m)开辟m字节长度的地址空间,并返回这段空间的首地址free(p)释放指针p所指变量的存储空间,即彻底删除一个变量,存储结构,带头结点的单链表:非空表:,空表:,满足 head-next=NULL,头结点是在链表的首元结点之前附设的一个结点;其数据域不存储线性表的数据元素,只放表长等信息;其指针域存储首元结点的地址,头结点,初始化单链表,单链表的操作实现,void ListInitiate(SLNode*head)/置以head为头指针的带头结点的单链表为空表*head=(SLNode*)ma
4、lloc(sizeof(SLNode);(*head)-next=NULL;main()SLNode*head;ListInitiate(.,空表:,读取单链表中第i个结点,思想:从头指针开始,顺着链向后查找。具体:设p为搜索指针,计数器 j 从-1开始计数。初始p指向头结点。循环:p=p-next;j+;直至j=i或至表尾 循环退出后如果j=i 时,p所指结点即为第 i 个结点,否则,表空或 in-1(非法),a0,a1,an-1,ai,head,int ListGet(SLNode*head,int i,DataType*x)/*在以head为头指针的带头结点的单链表中,读取第i个元素*/
5、SLNode*p;int j;p=head;j=-1;/*从头指针开始查找ai*/while(p-next!=NULL/注意:仅当 p!=NULL时,p-data、p-next才有意义,【单链表取元素算法】,|i0,单链表取元素算法的时间复杂度:上述算法的时间复杂度与while语句的频度有关,最坏情况下搜索完整个链表,因此,对于长度为 n 的单链表而言,算法的时间复杂度为 O(n)。,插入前插,思想:要在第 i 个结点之前插入元素 x,必须先找到第 i-1 个结点的地址,这样,才能将第 i-1 个结点的指针修改指向新插入的结点,而新结点的指针指向第 i 个结点。,q-next=p-next;,
6、注意:两条语句的顺序不能颠倒,否则ai的地址会丢失。,另外,要注意合法 i 值为:0i size 若 isize,则 i 值非法。,ai-1,head,a0,p-next=q;,q-next,p-next,q=(SLNode*)malloc(sizeof(SLNode);q-data=x;,int ListInsert(SLNode*head,int i,DataType x)/*在以head为头指针的带头结点的单链表中的第i个结点之前插入值为x的结点*/SLNode*p,*q;/*p:搜索指针,q:新生成指针*/int j;p=head;j=-1;while(p-next!=NULL,【单链
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 单链表

链接地址:https://www.desk33.com/p-229811.html