前一节点的链结.pptVIP

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

第三章 Linked List 本章內容 3-1 串列 3-2 用陣列資料結構直接儲存串列 3-3 陣列結構實作鏈結串列 3-4 指標與結構體 3-5 動態配置節點實作鏈結串列 3-6 鏈結串列的其他運算 3-7 環狀鏈結串列 3-8 雙向鏈結串列 3-9 鏈結串列的應用 3-1 串列 ◎串列 是許多項目有順序的排列 11 13 17 19 23 29 中國 美國 英國 蘇俄 二次大戰同盟國國名若依筆劃數目由少至多來排列 10到30之間的質數由小到大排列 常用於串列上的幾個運算: 1. 插入新節點 (Insert) - 在原有的串列中加入一個新的元素。 2. 刪除某節點 (Delete) - 將某一個元素從原本的串列中移除。 3. 找尋某節點 (Find) - 依照需求將所指定的(第幾個)元素值讀出來 3-2 用陣列資料結構直接儲存串列 中國 美國 英國 蘇俄 Alli[0] Alli[1] Alli[2] Alli[3] 11 13 17 19 23 29 Prime[0] Prime[1] Prime[2] Prime[3] Prime[4] Prime[5] 利用陣列結構循序來儲存串列的方式,具有以下的優缺點: 優點:只要標明要查詢第幾個元素,就能很快地根據元素註標讀寫該元素,因為陣列的隨機存取 (random access) 效率相當高,時間複雜度來表示為 O(1)。 缺點:插入元素 (insert) 和刪除元素 (delete) 兩個動作所需時間的複雜度為O(n)。這是因為陣列所有元素在記憶體中的實體位置 (physical location) 是連續的,因此不論是執行元素的插入或刪除,都必須進行資料的搬移,以維持正確的順序。 2. 「鏈結」(link) 就是用來維持這順序的工具,它可以告訴我們「下一個元素放在哪裡」。 「鏈結串列」(linked list) 可以用來解決單純陣列的缺點: 1. 鏈結串列的元素之間不必實體連續(即不必依元素順序佔用記憶體中的連續位址),只要有邏輯上 (logical) 的順序存在即可 首節點 中國 美國 英國 蘇俄 listA 中國 美國 英國 蘇俄 無首節點 有首節點 3-3 陣列結構實作鏈結串列 data next Table[0] [1] [2] [4] [3] [5] [6] [7] [8] 3 6 -1 1 -1 -1 7 0 -1 美 國 中 國 英 國 蘇 俄 #define MAXNODE 9 typedef struct tagListNode { char data[8]; /*資料欄位*/ int next ; /*鏈結欄位*/ } ListNode ; ListNode table[MAXNODE] ; 節散散佈在陣列中,實體位置沒有連續,但根據鏈結可以得到以下次序 3 首節點 1 中國 6 美國 7 英國 0 蘇俄 3 1 0 6 7 要在 ‘英國’ 節點之後插入一個新節點 ‘法國’ data next Table[0] [1] [2] [4] [3] [5] [6] [7] [8] 3 6 ? -1→7 1 -1 -1 ? 7→2 0 -1 美 國 中 國 ? 英 國 蘇 俄 ? 法 國 ? 找到一個空節點,填入資料 ? 找到英國,或者條件已知 ? 將英國的 next (7) 複製到法國的next ? 將法國的位置 (2) 填入英國的next 3 首節點 1 中國 6 美國 7→2 英國 0 蘇俄 3 1 0 6 7 7 法國 2 要刪除 ‘英國’ 節點 data next Table[0] [1] [2] [4] [3] [5] [6] [7] [8] 3 6→2 7 1 -1 -1 2 → -1 0 -1 美 國 中 國 英 國 蘇 俄 法 國 ? 找到英國 (6),以及英國的前一個節點 ‘美國’(1) ? 將英國的 next (2) 複製到美國的next ? 將英國節點還原為空節點 3 首節點 1 中國 6→2 美國 2 英國 0 蘇俄 3 1 0 6 7 7 法國 2 3-4 指標與結構體 ◎變數是存放資料的地方 int i, j; i = 5 ; j = i ; 5 i 5 j ◎指標是存放位址的地方 int *p; p = i

文档评论(0)

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

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

1亿VIP精品文档

相关文档