- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单向链结串列的插入节点
德明科技大學資訊科技系 鏈結串列Link List chapter 6 線性串列(Linear List) 線性串列 又稱有序串列(Ordered List)或循序串列(Sequential List) ,元素與元素之間有線性的相對關係,並且以循序方式儲存 堆疊與佇列都是線性串列 陣列與鏈結串列比較 陣列 固定記憶體大小,設計簡單但沒彈性 鏈結串列 以節點串起整個串列,比較複雜但有彈性 動態記憶體配置 Dynamical Memory Allocation 靜態記憶體配置是在編譯階段時就配置記憶體空間 動態記憶體配置則是等到執行階段,才向作業系統要求配置所需的記憶體空間 動態記憶體配置可以讓程式設計者靈活運用程式所需的記憶體空間 在C++使用動態記憶體配置的函數 malloc() 與 free(): 只針對資料變數 new 與 delete: 針對變數與物件均可 鏈結串列 鏈結串列 依照資料特性,決定使用陣列或鏈結串列 如果需要大量資料讀取,陣列比較合適 如果插入與刪除資料頻繁,鏈結串列比較合適 鏈結串列內,一個節點包含兩部份 資料 data,紀錄資料內容 鏈結 link,紀錄下一個節點的位置 在電腦程式中,實作鏈結串列的方法有二 以陣列完成 以結構與指標搭配完成 以陣列實作鏈結串列 新增節點 刪除節點 指標 Pointer 結構 Structure 動態配置節點實作鏈結串列 鏈結串列所需的節點 資料:以結構的方式呈現多元資料 鏈結:以指標的方式動態配置節點 鏈結串列 鏈結串列 由一個或一個以上動態記憶體分配的節點 (node)所組成 每一個節點至少會有兩個或兩個以上的欄位,分別存放資料及指標,此指標稱為鏈結(link) 若某節點無下一個節點,則此節點的連結為空指標(Null) 鏈結串列特性 各節點不一定要佔用連續的記憶體空間 各節點之資料型態不一定要相同 重點是以指標鏈結串起 插入與刪除節點方便 鏈結串列各元素在記憶體之位置是不連續的 鏈結串列由動態記憶體分配的節點(Node)串接而成 相形之下,陣列為一個循序(Sequential)之記憶體結構 單向鏈結串列與雙向鏈結串列比較 單向鏈結串列 單向鏈結串列的建立 單向鏈結串列的插入節點 有三種不同的情形: 在串列的第一個節點前插入節點 在串列的最後一個節點後面插入節點 在串列的中間位置插入節點 在串列的第一個節點前插入節點 把新節點的指標指向串列首,再把串列首移到新節點上即可 在串列的最後一個節點後面插入節點 把串列的最後一個節點的指標指向新節點,新節點再指向NULL即可 串列的中間位置插入節點 如果插入的節點是在P與Q之間,只要將P節點的指標指向新節點R,新節點的指標指向Q節點即可 單向鍵結串列的刪除節點 有三種不同的情形: 刪除串列的第一個節點 刪除串列內的中間節點 刪除串列後的最後一個節點 刪除串列的第一個節點 把串列首指標指向第二個節點 不要忘記將被刪除的節點釋放記憶體 刪除串列內的中間節點 只要將刪除節點的前一個節點的指標,指向欲刪除節點的下一個節點即可 不要忘記將被刪除的節點釋放記憶體 刪除串列的第一個節點 只要指向最後一個節點的指標,直接指向NULL即可 不要忘記將被刪除的節點釋放記憶體 鏈結串列的反轉 將每個節點的鏈結指標往回指 鏈結串列的連結 兩個鏈結串列首尾相連 鏈結串列的長度 鏈結串列內不含首節點的節點個數 例如下圖長度是4 鏈結串列的長度 步驟三 最後一個反轉後變成第一個節點 * 2. 「鏈結」(link) 就是用來維持這順序的工具,它可以告訴我們「下一個元素放在哪裡」。 「鏈結串列」(linked list) 可以用來解決單純陣列的缺點: 1. 鏈結串列的元素之間不必實體連續(即不必依元素順序佔用記憶體中的連續位址),只要有邏輯上 (logical) 的順序存在即可 首節點 中國 美國 英國 蘇俄 listA 中國 美國 英國 蘇俄 無首節點 有首節點 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 目標:要在 ‘英
您可能关注的文档
- 关于聘任东莞市志愿者协会第一届理事会理事的函.doc
- 关于评选2011年度上海市国家职业技能鉴定.doc
- 关于转专业申请的补充说明(网上申请).doc
- 关于进口设备资料转化项目.doc
- 关于进行-北京邮电大学网络教育学院.doc
- 关于选修1-13.3.3导数的实际应用例习题的分析教材分析例习题分析.ppt
- 关志英《共享社科资源服务教学科研》PPT-开世览文.ppt
- 关联式资料库模型.ppt
- 关怀西部平台说明-千乡万才.ppt
- 其他食品相关产品生产许可证申请书-广东省质量技术监督局.doc
- 湖南省衡阳市第八中学2026届高三上学期第一次月考物理(原卷版).doc
- 浙江省普通高中尖峰联盟2026届高三上学期10月联考英语(原卷版).doc
- 四川省绵阳市南山中学实验学校2026届高三上学期10月月考英语(原卷版).doc
- 湖南省衡阳市第八中学2026届高三上学期第二次月考历史 Word版含解析.doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题09 功和机械能(原卷版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题10 内能及其利用(原卷版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题07 压强(原卷版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题01 机械运动(原卷版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题02 声现象(解析版).doc
- 福建中考物理5年(2021-2025)真题分类汇编:专题02 声现象(原卷版).doc
最近下载
- 2024年全球及中国天然超氧化物歧化酶行业头部企业市场占有率及排名调研报告.docx
- 初中英语固定搭配大全.pdf VIP
- 电力系统500kV串补保护的配置及动作逻辑原理详解培训.pptx VIP
- DB42_T 268-2012 蒸压加气混凝土砌块工程技术规程.docx
- 机电设备安装与维修专业人才培养方案.docx VIP
- 成人外周动脉导管留置与维护.pdf VIP
- 四宫格四阶数独学习材料包(完整版)-附带讲解和练习-适合零基础.pdf VIP
- 220kV升压站SVG设备安装.docx VIP
- 汽车灯光系统检修教学能力比赛教案.pdf
- 2023水电工程地下建筑物安全监测技术规范.docx VIP
原创力文档


文档评论(0)