(2.3.1)-2.3單鏈表-鏈表的定義_第1頁
(2.3.1)-2.3單鏈表-鏈表的定義_第2頁
(2.3.1)-2.3單鏈表-鏈表的定義_第3頁
(2.3.1)-2.3單鏈表-鏈表的定義_第4頁
(2.3.1)-2.3單鏈表-鏈表的定義_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

鏈表的定義1主要內容:單鏈表的定義3線性表的鏈式存儲結構(鏈表)鏈表:用一組任意的存儲單元(可以是無序的,即可零散地分布在內存中的任何位置上)存放線性表的數據元素。鏈表的特點:

鏈表中結點的邏輯次序和物理次序不一定相同。即:邏輯上相鄰未必在物理上相鄰。結點之間的相對位置由鏈表中的指針域指示,而結點在存儲器中的存儲位置是隨意的。4線性表(a1,a2,a3,a4)邏輯上相鄰未必在物理上相鄰。1005head線性表的鏈式存儲結構(鏈表)

數據域指針域a110025結點的組成:數據域指針域※數據域--表示數據元素自身值。※指針域(或鏈域)--存儲其后繼結點(或其它結點)的存儲位置信息。※通過指針域,可將n個結點按其邏輯順序鏈接在一起(不論其物理次序如何)。6單鏈表:----每個結點只有一個指針域(鏈域)。※頭指針---指示鏈表中第一個結點的存儲位置;整個鏈表的存取必須從頭指針開始;

單鏈表由頭指針唯一確定,因此單鏈表可以用頭指針的名字來命名。例如:若頭指針為head,則可把鏈表稱為“表head”。a1

a2headan^

單鏈表……7※空表---頭指針為空。head=NULL;※開始結點---(無前驅)用頭指針指向之。

※尾結點---(無后繼)最后一個結點,其指針域為空,用^或NULL表示。

※表中其它結點---由其前驅的指針域指向之。

※頭結點---在鏈表的第一個結點之前附設的一個結點。a1

a2head1an^

…………a2an^

a1

head2

頭結點headNULL開始結點開始結點head1==NULL;head2->next==NULLp->next==NULL8typedefcharElemType;typedefstructLNode//結點類型定義{ElemTypedata;//數據域

structLNode*next;//next為指針域,指向后繼}LNode,*LinkList;LNode*head,*p,*H,*L;LinkListhead,p,H,L;單鏈表的描述:LNode是結點的類型;LinkList是指向LNode類型結點的指針類型datanextdatanext9p=(LNode*)malloc(sizeof(LNode));----對指針p賦值使其指向某一新生成結點。其中:(LNode*)----進行類型轉換malloc(size)---在內存中分配size個連續可用字節的空間。sizeof(LNode)---求結點需用占用的字節數。free(p)---系統回收p結點。(動態)LinkListLinkList10指針p與指向的結點關系示意圖:說明:p---指向鏈表中某一結點的指針。p->data,p->next*p---表示由指針p所指向的結點。(*p).data,(*p).next(*p).data或p->data----(*p).next或p->next----p->data=‘a’;(*p).data=’a’;datanex

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論