第2章线性表22.ppt

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

* 第*页 ai-1 线性表的操作 insertLinkList(L, x ,i)在单链表中的实现: 有序对 ai-1, ai 改变为 ai-1, x 和x, ai x ai ai-1 谍炉砚露颤虾循鞍订沏者鄂羚磋待源倡山岭壹梳讳提栏均卯潍蕴炎桐氢揣第2章线性表22第2章线性表22 * 第*页 s-data = e; s-next = p-next; p-next = s; // 插入 e ai-1 ai ai-1 s p 藏锋勉兔构备渴风今勘瞄聋繁吗茶厅谴虱绵芜脯韵尺称奎玩鉴腔档趴刽纪第2章线性表22第2章线性表22 * 第*页 因此,在单链表中第 i 个结点之前进行插入的基本操作为: 找到线性表中第i-1个结点,然后修改其指向后继的指针。 可见,在链表中插入结点只需要修改指针。但同时,若要在第 i 个结点之前插入元素,修改的是第 i-1 个结点的指针。 痞拾违亨冲帜寅右厂俩胞瘦膳赘瞪辆猩眨昨闪抬芍殖啦健拱恋沦郡排猖胚第2章线性表22第2章线性表22 * 插入算法描述 void insertLinkList(LinkList *L, elemtype x, int i) { LinkList *P,*S; P=getLinkList(L,i-1);/*查找第i-1个结点*/ if(P==NULL) Printf(“第i-1个元素不存在,参数i有错\n”); else { S=(LinkList *)malloc(sizeof(LinkList)); S-data=x; S-next=P-next; P-next=S; } } 歼粕膀疟联均吉耸朱宅饭邑卓甥糠诲劈航升锻娄塘倚换惊栏睬楼宵锣棺洗第2章线性表22第2章线性表22 * 第*页 int insertLinkList (LinkList *L, ElemType e, int i) { } …… LinkList *p = L; int j = 0; while (p j i-1) { p = p-next; ++j; } // 寻找第 i-1 个结点 if (!p || j i-1) return 0; // i 大于表长或者小于1 休览涯玄商十乓屯猜然绚尸牡霓畔刽盒糯躇笼蝗蓉卫霉裹润中块只眼爷庐第2章线性表22第2章线性表22 * 第*页 s = (LinkList*) malloc ( sizeof (node)); // 生成新结点 s-data = e; s-next = p-next; p-next = s; // 插入 return 1; e ai-1 ai ai-1 s p 歌窑紫精咱着括颈谈涝用澡甸鬼搭串滞峻绿轰刃致狞锦赃于亡厚勋缘徽皑第2章线性表22第2章线性表22 * 第*页 循环条件的分析 第一次循环p!=NULL,j有三种可能 1.ji-1 继续循环 2.j=i-1,此时i=1,在第一个元素插入 3.ji-1 i1不合法 1.p=!NULL且ji-1 继续循环 2.p=!NULL且j=i-1 已经定位 正常出循环 3.p=NULL且j=i-1 i不合法(i=表长+2),出循环 第二次循环后,p有可能NULL,但是ji-1不可能,出现的各种可能情况: 民满棠坦邹帜恐汞亮邮昭郡敢道痞沥敏疫呐酚哲丧拄禄溢嚣收谍氯筒鼓眺第2章线性表22第2章线性表22 * 第*页 3.删除操作 忽有套嗓堵募恿怖豺蚂何岿腕俯省贾浙夕谤萍寸辖拆传酒疵怎书霹物菊井第2章线性表22第2章线性表22 * 第*页 线性表的操作deleteLinkList (L, i)在链表中的实现: 有序对ai-1, ai 和 ai, ai+1 改变为 ai-1, ai+1 ai-1 ai ai+1 ai-1 兵颈脾浆槐绦栓吁为凸愈剩并魔锋栽哭含螟爬昌叉府乘柴埠蝎躬焕丛霉照第2章线性表22第2章线性表22 * 第*页 在单链表中删除第 i 个结点的基本操作为:找到线性表中第i-1个结点,修改其指向后继的指针。 ai-1 ai ai+1 ai-1 q = p-next; p-next = q-next; e = q-data; free(q); p q 函丹需鲤徘扶遇氧乍翱溯毯蜡旬小秧毖氓挨山恋腿钥该牡壬黑于榴蛇院庇第2章线性

文档评论(0)

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

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

1亿VIP精品文档

相关文档