《数据结构(C#语言描述)》第02章线性表.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 2.3 线性表的链式存储结构---链表 《数据结构(C#语言描述)》配套PPT 2.3.2 循环链表 【例2-4 CircularLInkedList.cs】代码讲解 添加操作: tail Add(2) 2 currentPrev 1 2.3 线性表的链式存储结构---链表 《数据结构(C#语言描述)》配套PPT 2.3.2 循环链表 【例2-4 CircularLInkedList.cs】代码讲解 添加操作: tail Add(3) 2 currentPrev 3 1 2.3 线性表的链式存储结构---链表 《数据结构(C#语言描述)》配套PPT 2.3.2 循环链表 【例2-4 CircularLInkedList.cs】代码讲解 元素的删除: tail RemoveCurrentMode() 2 currentPrev 3 4 5 为当前选中元素 3 4 1 2.3 线性表的链式存储结构---链表 《数据结构(C#语言描述)》配套PPT 2.3.2 循环链表 【例2-4 CircularLInkedList.cs】代码讲解 游标的移动: tail Move(2) 2 currentPrev 3 4 5 为当前选中元素 3 5 1 2.3 线性表的链式存储结构---链表 《数据结构(C#语言描述)》配套PPT 2.3.2 循环链表 【例2-4 CircularLInkedList.cs】代码讲解 游标的移动: tail Move(3) 2 currentPrev 4 为当前选中元素 3 5 5 3 2.3 线性表的链式存储结构---链表 《数据结构(C#语言描述)》配套PPT 2.3.2 循环链表 带密码的约瑟夫问题:编号为1,2,......,n的n个人按照顺时针方向围坐一圈,每个人有且只有一个密码(正整数)。一开始任选一个正整数作为报数上限值,从第一个人开始顺时针方向自1开始报数,报到m时停止报数。报m 的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新报数,如此下去,直到所有人全部出队为止。设计一个程序来求出出队顺序。请思考如何修改单向循环链表以求解这个问题。 思考 3 2.3 线性表的链式存储结构---链表 《数据结构(C#语言描述)》配套PPT 2.3.3 双向链表 单链表的各结点只有指向其后继结点的指针域next,只能顺着一个方向寻找。如果希望很方便地查找前驱,可以给每个结点再加一个指向前驱的指针域,使链表可以进行双方向查找。用这种结点结构组成的链表称为双向链表,简称双链表。 2.3 线性表的链式存储结构---链表 《数据结构(C#语言描述)》配套PPT 2.3.3 双向链表 双向链表结构图 双向链表的结点 next data prev … 双向链表 开始结点 终端结点 head 头指针 a1 a2 a3 an 2.3 线性表的链式存储结构---链表 《数据结构(C#语言描述)》配套PPT 2.3.3 双向链表 双向链表中结点的插入 1 在n之前插入s p n 代码 s.next = n; n.prev.next = s; s.prev = n.prev; n.prev = s; s 请注意代码执行顺序 2.3 线性表的链式存储结构---链表 《数据结构(C#语言描述)》配套PPT 2.3.3 双向链表 双向链表中结点的插入 1 在p之后插入s p n 代码 s.next = p.next; p.next.prev = s; s.prev = p; p.next = s; s 2.3 线性表的链式存储结构---链表 《数据结构(C#语言描述)》配套PPT 2.3.3 双向链表 双向链表中结点的删除 1 删除结点s p n s s 2.3 线性表的链式存储结构---链表 《数据结构(C#语言描述)》配套PPT 2.3.3 双向链表 C#中实现了双向链表的数据结果是泛型集合System.Collections.Generic.LinkedListT。它是一个通用链表类,不支持随机访问(使用索引访问)。它实现了很多添加元素的方法: AddAfter 在现有节点后添加新的节点或值 AddBefore 在现有节点前添加新的节点或值 AddFirst 在开头处添加新的节点或值 AddLast 在结尾处添加新的节点或值 2.4 本章小结 《数据结构(C#语言描述)》配套PPT 线性表 顺序表 链表 数组(Array) 动态数组(ArrayList、ListT、BitArray) 单向链表(ListDictionary) 双向链表(LinkedListT) 循环链表 单向循环链表 双向循环链表 线性表的分类 2.4 本章小结 《数据结构(C#语言描述)》配套PPT 顺序表性能小结 1 优点: 算法

文档评论(0)

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

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

1亿VIP精品文档

相关文档