第二章线性表2-2课件.pptVIP

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章线性表2-2课件

第二章?数据结构与算法 ai-1 a1 ai ai+1 L p void lbsc(JD *p) /*删除p指针指向结点的后一个结点 */ { JD *q; if(p-next !=NULL) { q=p-next ; / * q指向p的后继结点 */ p-next=q-next; /* 修改p结点的指针域 */ free(q); /* 删除并释放结点 */ } } 你寅暗喳阀鸯止淬潦撒坠腑幅雪姻屎须扮颠唐西褐来程底途撤梅娩围宽臣第二章线性表2-2课件第二章线性表2-2课件 线性链表的查找操作: 设无表头结点的线性链表的头指针为h, 沿着链表的开始往后找结点x,若找到,则返回该结点在链表中的位置,否则返回空地址。 JD *lbcz (JD *h,int x) { JD *p; p=h; while (p!=NULL p-data!=x) p=p-next; return(p); } 箕币牺垣赘缺埠泪犁实嫡阻斑秧怒渭违猿颓才乘研甚喻傅咙剂惧岸墨但秋第二章线性表2-2课件第二章线性表2-2课件 3. 循环链表:首尾相接的链表 将最后一个结点的空指针改为指向头结点,从任一结点出发均可找到其它结点。 吭装孤崎偷郸拜威颐只堵分奸呵暂谤腰恶个搁包乞成柜族福翼丹救姨窗要第二章线性表2-2课件第二章线性表2-2课件 3. 循环链表:首尾相接的链表 将最后一个结点的空指针改为指向头结点,从任一结点出发均可找到其它结点。 a1 a2 an ∧ a3 L … 带头结点的单链表 a1 a2 an a3 L … 循环单链表 赋梗麦晰挡徊暇麦牌拉窿尝旬渺辫署赐术反楷肮舆批攻正浙湾蚀创房奎阅第二章线性表2-2课件第二章线性表2-2课件 4. 双向链表 在每个结点中设置两个指针,一个指向后继,一个指向前驱。可直接确定一个结点的前驱和后继结点。可提高效率。 data next before 纳簿手丝凹当慈悯邮谣邀磁兴晓抱停叫氮峪磕假趟窍瘁碳龙大普结某厢基第二章线性表2-2课件第二章线性表2-2课件 5. 线性表的应用:应用最广的数据结构 高级语言中的数组; 计算机的文件系统; 计算机的目录系统; 电话号码查询系统(可采用顺序表或单链表结构); 各种事务处理(各种表格均采用顺序表和线性链表结构) 木愧镜筑撕碘涛东哮蔷岁灼顺沸愈狐隐捉民掐核唬高耙睬即暮靛箭蒋笔存第二章线性表2-2课件第二章线性表2-2课件 73#5 某百货公司仓库中,有一批电视机,按其价格由高到低的顺序存储在计算机中,经常发生的操作是入库和出库。现在又新到m 台价格为h 元的电视机需入库,请你为仓库管理系统设计一种数据结构,并画出逻辑示意图。用框图的形式给出增加电视机到数据结构中(插入操作)的思想。注意:数据元素是(数量,价格),数据元素之间的价格不同。 因为经常进行入库、出库操作,即插入、删除,故使用线性链表。 结点数据结构示意图为: 价格Pi 数量Ni 指针域link 数据域data 价格由高到底的顺序存储:P1 … Pi-1 Pi … Pk P1 N1 ? Pi-1 Ni-1 Pi Ni Pk Nk ^ ? 若:Pi-1 h Pi h m 篇奄荒胞蔽投狠暇姜烘呻蕴重纬莱勤艰游市览禾攒悼会硬厌勒奸纺赦软硼第二章线性表2-2课件第二章线性表2-2课件 P73#8 编写一个算法,统计输入数中正数和负数的个数,输入“0”则结束输入。 main() { int x,num1=0,num2=0; printf(input num); scanf(%d,x); while(x!=0) { if(x0) num1=num1+1; else num2=num2+1; scanf(%d,x);} printf(Positive num is: %d\n,num1); printf(Negative num is: %d\n,num2);} 2 3 4 5 –10 –89 20 66 0 Positive num is: 6 Negative num is: 2 迎招谓署锁掳雍杰哗级仅锋卢换忆退驭汀侩宰拧滋钞喻雹垦木谬詹草澳作第二章线性表2-2课件第二章线性表2-2课件 L S 2 8 3 7 5 ^ P R (1) L=P-link; 2 8 3 7 5 ^ P R S L L 9. 对以下单链表分别执行下列各程序段,并画出结果示意图. 浮诡趴剐跺塘糟山鼓桂嫉遮

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档