




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第九章指針與結(jié)構(gòu)體9.6結(jié)構(gòu)體類型變量構(gòu)成的簡單鏈表
9.6結(jié)構(gòu)體類型變量構(gòu)成的簡單鏈表
9.6.1靜態(tài)簡單鏈表的創(chuàng)建
9.6.2動態(tài)單向鏈表的創(chuàng)建
我們在前面已經(jīng)學(xué)習(xí)了動態(tài)內(nèi)存分配malloc()函數(shù)功能和結(jié)構(gòu)體類型的定義。調(diào)用malloc()函數(shù)分配一個指定長度的存儲區(qū)域,且返回這個存儲區(qū)域的首地址。結(jié)構(gòu)體中的成員可以是指針成員,這些指針成員中可以有指向本結(jié)構(gòu)體的指針成員。結(jié)構(gòu)體類型定義時,若有指針成員的基類型為所在結(jié)構(gòu)體本身時,稱為“引用自身的結(jié)構(gòu)體”。如:struct
match_order{int
hm;
struct
match_order*next;}stu,*p,*q;該定義中的指針p就是一個指向struct
match_order結(jié)構(gòu)類型的指針,我們可以對其進(jìn)行如下賦值:(1)sru.next=&stu;存儲結(jié)構(gòu)如圖9-6-1所示。(2)p->next=&stu;存儲結(jié)構(gòu)如圖9-6-2所示。
(3)q->next=p;存儲結(jié)構(gòu)如圖9-6-3所示。結(jié)構(gòu)體類型變量構(gòu)成的鏈表根據(jù)其分配的存儲單元的性質(zhì)不同可分為靜態(tài)鏈表和動態(tài)鏈表兩大類,下面我們分別來學(xué)習(xí)簡單的靜態(tài)鏈表和動態(tài)鏈表。stu.hmstu.next圖9-6-1stu.hmstu.next圖9-6-2ppq圖9-6-39.6.1靜態(tài)簡單鏈表的創(chuàng)建
【例9.16】創(chuàng)建一個簡單的靜態(tài)鏈表#include<stdio.h>struct
match_order{int
hm;
struct
match_order*next;}s1,s2,s3,*h,*q;voidmain(){s1.hm=3;s2.hm=1;s3.hm=2;//分別給各變量中的hm成員賦值h=@s1;s1.next=@s2;s2.next=@s3;s3.next=′\0′;q=h;while(q)//將q順序后移,使其依次指向s1,s2,s3,輸出相應(yīng)的hm值
{printf("%d\t",q->hm);
q=q->next;}
printf("\n");}本例形成的存儲結(jié)構(gòu)如圖9-6-4所示。例中將三個struct
match_order類型的結(jié)構(gòu)體變量鏈接到一起,構(gòu)成以s1、s2、s3為結(jié)點(diǎn)的“鏈表”。因s1、s2、s3三個結(jié)點(diǎn)是單獨(dú)定義的結(jié)構(gòu)體變量,其內(nèi)容可以改變,而存儲單元是固定不變的,稱這樣的鏈表為“靜態(tài)鏈表”。而在實際應(yīng)用中,使用更為廣泛的“動態(tài)鏈表”s13h圖9-6-4s21s32\09.6.2動態(tài)單向鏈表的創(chuàng)建
動態(tài)鏈表中的結(jié)點(diǎn)需要調(diào)用malloc()等函數(shù)來分配指定長度的存儲單元,并返回其地址值,即形成一個動態(tài)的存儲單元?!纠?.16】創(chuàng)建一個單向靜態(tài)鏈表#include<stdio.h>struct
match_order{int
hm;
struct
match_order*next;};typedef
struct
match_orderORDER;voidmain(){intx;ORDER*h,*p,*s;h=(ORDER*)malloc(sizeof(ORDER));//生成頭結(jié)點(diǎn)
s=h;
scanf("%d",&x);while(x!=-1)//設(shè)-1為結(jié)束標(biāo)志
{
p=(ORDER*)malloc(sizeof(ORDER));//生成一個新結(jié)點(diǎn)
p->hm=x;//將x的值存入p結(jié)點(diǎn)的hm中
s->next=p;//將p結(jié)點(diǎn)鏈接到表尾
s=p;//s后移指向當(dāng)前表尾
scanf("%d",&x);//讀入新的數(shù)據(jù)到x}s->next=;p=h;//p指針回到鏈表開頭while(p!=′\0′)//將p順序后移,使其依次輸出相應(yīng)結(jié)點(diǎn)的hm值
{printf("%d\t",p->hm);
p=p->next;}
printf("\n");}說明:(1)首先通過調(diào)用malloc()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度夫妻婚內(nèi)財產(chǎn)約定及家庭財務(wù)狀況監(jiān)測協(xié)議
- 2025年度白酒年份酒產(chǎn)區(qū)深度開發(fā)與合作合同
- 二零二五年度新能源企業(yè)代理招聘人才合同
- 二零二五年度獨(dú)立董事聘用合同(科技創(chuàng)新企業(yè))
- 二零二五年度全面數(shù)字化企業(yè)整體資產(chǎn)轉(zhuǎn)讓合同
- 二零二五年度解除勞動合同關(guān)系及經(jīng)濟(jì)補(bǔ)償計算協(xié)議
- 2025年度道路養(yǎng)護(hù)勞務(wù)承包合同(智能化管理)
- 二零二五年度挖機(jī)運(yùn)輸與設(shè)備回收合同
- 浙江國企招聘2024中國郵政速遞物流股份有限公司舟山市普陀區(qū)分公司招聘筆試參考題庫附帶答案詳解
- 2025陜西煤業(yè)新型能源科技股份有限公司招聘(31人)筆試參考題庫附帶答案詳解
- 部編版七年級下冊語文第一單元課件
- 2023年山東省青島市統(tǒng)招專升本管理學(xué)自考真題(含答案)
- 文化產(chǎn)業(yè)政策與法規(guī)課件
- 膀胱鏡檢查記錄
- 人教版八年級下冊生物全冊教案完整版教學(xué)設(shè)計含教學(xué)反思
- 無人機(jī)警用方向應(yīng)用簡介課件
- 《思想道德修養(yǎng)與法律基礎(chǔ)》說課(獲獎版)課件
- 幼兒園中班居家安全教案
- 教學(xué)樓畢業(yè)設(shè)計資料
- 國網(wǎng)直流電源系統(tǒng)技術(shù)監(jiān)督規(guī)定
- 香港雇傭合同協(xié)議書
評論
0/150
提交評論