- 3
- 0
- 约 95页
- 2017-09-02 发布于天津
- 举报
链结串列资料结构
鏈結串列 (Linked List) 註:要會指標(Pointer) 鍊結串列特性 鏈結串列(linked list)是由許多結點所組成的,在加入和刪除功能上比陣列彈性許多。且加入與刪除的動作,可以針對串列首、串列尾或串列中的某個節點。 鏈結串列視實際需要才配置記憶體空間,可減少浪費。 可以取代陣列儲存方式(堆疊與佇列),而其所含資料元素的數目可以彈性的增減。 節點(Node) Node的結構與產生 結構宣告: struct node { int number; struct node *llink; } Node 的產生: head = (struct node *) malloc (sizeof(struct node)); Node的結構與產生(續) 結構宣告: struct node { string name; string address; int phone; struct node *llink; } Node 的產生: head = (struct node *) malloc (sizeof(struct node)); Example 假設鏈結串列中每個節點(node)的資料結構有兩欄,分別為資料(data)欄和鏈結(next)欄,結構可需告如下: Struct node { int data; struct node *next; }; 例如:下列串列有a, b, c, d, x等的資料元素。 head:指向串列前端的指標。 tail:指向串列尾端的指標。 鍊結串列概念 鍊結串列 (Linked List) 是一個有序的資料集合,其中每一個元素都包含下一個元素的位址。 也就是說,每一個元素可分為兩部份:資料 (Data) 與鍊結 (Link)。 資料部份儲存資料。 鍊結部份用於將資料鍊結在一起。它包含一個指標,負責辨識串列的下一個元素。 另外,還有一個指標變數,指向串列的第一個元素。 我們討論的鏈結串列-單一鏈結串列,每一個元素只包含一個鍊結,只能指向一個後續元素。 鍊結串列的優點是資料的新增與刪除操作。 當新增與刪除一個元素時,不必因串列中元素邏輯順序的改變,而移動它們的實際儲存位置。 因為串列不要求元素在實際儲存時,要一個接一個地存放。但也無法進行二元搜尋,必須採用循序搜尋。 鍊結串列概念(續) 如圖(a)所示,pHead(指向串列的第一個元素),包含4個元素。 除了最後一個元素之外,每一個元素中的鍊結都指向它的後續元素。 而最後一個元素的鍊結是一個null指標,表示串列的結束。 若串列的指標變數為null指標,表示它是一個空的鏈結串列,如圖(b) 所示。 鍊結串列的特性就是節點之間沒有實體的 關係,也就是說他們不是連續儲存的。 就鏈結串列而言,在節點之間沒有實體的 關係。 需要指標來辨別串列的第一個節點,還有任何一個節點,其後續節點的位址。 指向串列開始位置的指標稱為表頭指標 (Head Pointer) 。在上圖中,pHead就是 head指標,而link指向節點的後續節點。 鍊結串列種類 可分為: 單向鏈結串列(single linked list) 環狀串列(circular linked list) 雙向鏈結串列(doubly linked list) 單向鏈結串列優點 以陣列方式存放資料時,若要插入(insert)或刪除(delete)某一節點(node)就倍感困難了。 如在陣列中已有a,b,d,e四個元素,現將c加入陣列中,並按字母順序排列。 方法就是d,e往後一格,然後將c插入;而刪除一元素,也必須挪移元素才不會浪費空間,有無方法來改善此一問題呢? 這就是本章所要探討的鏈結串列(linked list)。 單向鏈結串列(續) 鏈結串列在加入與刪除皆比陣列來得簡單容易,因為只要利用指標(pointer)加以處理就可以了。 假設鏈結串列中每個節點(node)的資料結構有二欄,分別是資料(data)欄和鏈結(next)欄 ,若將節點結構定義為struct node 型態,則宣告如下: 單向鏈結串列(續) 如串列 A={a, b, c, d},其資料結構如下: head:指向串列前端的指標,通常假設此節點的data欄是空的亦即不放資料,這在一些運作上有其方便之處。 單向鏈結串列(加入於串列的前端) 假設有一串列如下: 有一節點x將加入於串列的前端,其步驟如下: 單向鏈結串列(加入於串列的前端) (3)head-next=x; 單向鏈結串列(加入於
您可能关注的文档
- 土r结构动я相互作用研究=干问题综述 - 世界地震工程.pdf
- 机械结构随机响应统计矩的计算方法 - journal of northeastern .pdf
- 部门应急预案 - 荆州市第一人民医院.ppt
- 利用pfpe软性模具直接奈米压印pc可挠式基板 - 国家奈米元件实验室.pdf
- 基于耦合方法的挡土墙地震响应的数值模拟.pdf
- 亲师座谈会宣导资料 - uschoolnet.ppt
- 城市社区是指在一定地域.ppt
- v - t2r2 - 东京工业大学.pdf
- 空气、 食品接触面微生物检验方法、 检验标准检测生产车间空气、 操作 .pdf
- 车流荷载作用下三塔悬索桥主梁动力响应分析 - 江苏科技大学学报.pdf
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- Q_LNKJ06-2020中负荷车辆齿轮油GL-4.pdf
- SJ∕T 10460-2016 太阳光伏能源系统图用图形符号.pdf
- 新求精德语强化教程(第4版)初级1课后练习答案(改进版) .pdf VIP
- 北师大版三年级下册数学全册教学设计(配2026年春改版教材).docx
- (2026年)跌倒坠床护理综合指南PPT课件.pptx VIP
- 工程设计应急响应方案(3篇).docx VIP
- 征信简版电子版PDF个人信用报告最新版2024年可编辑带水印模板.pdf VIP
- ntvf调试资料解读.doc VIP
- 电影《色.戒》的叙事伦理.doc VIP
- 上海大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
原创力文档

文档评论(0)