网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构(第2版)(C语言实现)课件:线性表.pptx

数据结构(第2版)(C语言实现)课件:线性表.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共75页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

线性表;2.1线性表的概念及运算;2.1线性表的概念及运算;2.1线性表的概念及运算;2.1线性表的定义及抽象数据类型;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.2线性表的顺序表示与实现;2.3线性表的链式表示与实现;2.3线性表的链式表示与实现;2.3线性表的链式???示与实现;2.3线性表的链式表示与实现;2.3线性表的链式表示与实现;2.3.2单链表上的基本运算

(1)初始化单链表。

voidInitList(LinkList*head)

{

/*为头结点分配一个存储空间*/

if((*head=(LinkList)malloc(sizeof(ListNode)))==NULL)

exit(-1);

(*head)-next=NULL; /*将单链表的头结点指针域置为空*/

};2.3线性表的链式表示与实现;2.3线性表的链式表示与实现;(4)按内容查找,查找元素值为e的结点。

ListNode*LocateElem(LinkListhead,DataTypee)

{

ListNode*p;

p=head-next; /*指针p指向第一个结点*/

while(p)

{

if(p-data!=e) /*没有找到与e相等的元素*/

p=p-next; /*继续找下一个元素*/

else /*找到与e相等的元素*/

break; /*退出循环*/

}

returnp;

};(5)定位操作。定位操作与按内容查找类似,只是定位操作返回的是该结点的序号。

intLocatePos(LinkListhead,DataTypee)

{

ListNode*p;

inti;

if(ListEmpty(head)) /*在查找第i个元素之前,判断链表是否为空*/

return0;

p=head-next; /*指针p指向第一个结点*/

i=1;

while(p)

{

if(p-data==e) /*找到与e相等的元素*/

returni; /*返回该序号*/

else

{

p=p-next;

i++;

}

}

if(!p) /*如果没有找到与e相等的元素*/

return0; /*返回0*/

};(6)在第i个位置插入元素e。先来看如何在单链表中插入一个结点。假设存储元素e的结点为p,要将p指向的结点插入到pre和pre-next之间,根本不需要移动其他结点,只需要让p指向结点的指针和pre指向结点的指针做一点改变即可。即先把*pre的直接后继结点变成*p的直接后继结点,然后把*p变成*pre的直接后继结点,如图所示,代码如下:

p-next=pre-next;

pre-next=p;;注意:插入结点的两行代码不能颠倒顺序。如果先进行pre-next=p,后进行p-next=pre-next操作,则第一条代码就会覆盖掉pre-next的地址,pre-next的地址就变成了p的地址,执行p-next=pre-next就等于执行p-next=p,这样pre-next就与上级断开了链接,造成尴尬的局面。如图所示。;如果要在单链表的第i个位置插入一个新元素e,首先需要在链表中找到其直接前驱结点,即第i-1个结点,并由指

文档评论(0)

ning2021 + 关注
实名认证
内容提供者

中医资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档