版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第六章
結(jié)構(gòu)與鏈表第2節(jié)鏈表1程序解析2鏈表的概念3單向鏈表的常用操作1程序解析例
建立一個(gè)學(xué)生成績(jī)信息(包括學(xué)號(hào)、姓名、成績(jī))的單向鏈表,學(xué)生記錄按學(xué)號(hào)由小到大順序排列,要求實(shí)現(xiàn)對(duì)成績(jī)信息的插入、修改、刪除和遍歷操作。mainCreate_Stu_DocInsertDocDeleteDocPrint_Stu_DocInsertDoc1程序解析structstud_node{/*鏈表結(jié)點(diǎn)類型*/intnum;charname[20];intscore;structstud_node*next;};structstud_node*Create_Stu_Doc();/*新建鏈表*/structstud_node*InsertDoc(structstud_node*head,structstud_node*stud);/*插入*/structstud_node*DeleteDoc(structstud_node*head,intnum);/*刪除*/voidPrint_Stu_Doc(structstud_node*head);/*遍歷*/2鏈表的概念鏈表是一種常見而重要的動(dòng)態(tài)存儲(chǔ)分布的數(shù)據(jù)結(jié)構(gòu)。它由若干個(gè)同一結(jié)構(gòu)類型的“結(jié)點(diǎn)”依次串接而成。鏈表分單向鏈表和雙向鏈表。頭指針結(jié)點(diǎn)尾結(jié)點(diǎn)頭結(jié)點(diǎn)2鏈表的概念通常使用結(jié)構(gòu)來定義單向鏈表結(jié)點(diǎn)的數(shù)據(jù)類型:structstud_node{intnum;charname[20];intscore;
structstud_node*next;};結(jié)構(gòu)的遞歸定義
2鏈表的概念與數(shù)組比較在用數(shù)組存放數(shù)據(jù)時(shí),一般需要事先定義好固定長(zhǎng)度的數(shù)組,在數(shù)組元素個(gè)數(shù)不確定時(shí),可能會(huì)發(fā)生浪費(fèi)內(nèi)存空間的情況。鏈表是動(dòng)態(tài)存儲(chǔ)分布的數(shù)據(jù)結(jié)構(gòu)。根據(jù)需要?jiǎng)討B(tài)地開辟內(nèi)存空間,可以比較自由方便地插入新元素(結(jié)點(diǎn)),故使用鏈表可以節(jié)省內(nèi)存,操作效率高。2鏈表的概念動(dòng)態(tài)分配相關(guān)函數(shù)void*malloc(unsignedsize)
功能:在內(nèi)存的動(dòng)態(tài)存貯區(qū)中分配一塊長(zhǎng)度為size的連續(xù)空間。返回值:指針,存放被分配內(nèi)存的起始地址。若未申請(qǐng)到空間,則返回NULL(0)。例如:(int*)malloc(sizeof(int))(structstudent*)malloc(sizeof(structstudent))voidfree(void*ptr)功能:釋放由malloc()申請(qǐng)的動(dòng)態(tài)內(nèi)存空間,ptr存放該空間的首地址。返回值:無。例如:free(p);3單向鏈表的常用操作1.鏈表的建立2.鏈表的遍歷3.插入結(jié)點(diǎn)4.刪除結(jié)點(diǎn)3單向鏈表的常用操作1.鏈表的建立3單向鏈表的常用操作1.鏈表的建立head=tail=NULL;scanf("%d%s%d",&num,name,&score);while(num!=0){
p=(structstud_node*)malloc(size);p->num=num;strcpy(p->name,name);p->score=score;
p->next=NULL;if(head==NULL)head=p;elsetail->next=p;tail=p;scanf("%d%s%d",&num,name,&score);}頭部插入法:p->next=head;head=p;尾部插入3單向鏈表的常用操作2.鏈表的遍歷for(ptr=head;ptr!=NULL;ptr=ptr->next)printf("%d\t%s\t%d\n",ptr->num,ptr->name,ptr->score);先連:s->next=ptr->next;后斷:ptr->next=s;headptrs3單向鏈表的常用操作3.插入結(jié)點(diǎn)ptr2=ptr1->next;先接:ptr1->next
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年標(biāo)準(zhǔn)建筑材料供應(yīng)協(xié)議模板版B版
- 2024年度幼兒親子活動(dòng)中心運(yùn)營(yíng)合同3篇
- 2024年度商品混凝土定制加工服務(wù)全面協(xié)議2篇
- 中考英語作文:對(duì)我影響最大的人(常用短語30個(gè)+重要句型20句+范文8篇)講義
- 基于學(xué)習(xí)任務(wù)群的小學(xué)語文大單元教學(xué)策略探討
- 核心素養(yǎng)背景下小學(xué)美術(shù)手工課教學(xué)的方法與路徑
- 2024年度醫(yī)院?jiǎn)T工競(jìng)業(yè)限制合同6篇
- 臨夏現(xiàn)代職業(yè)學(xué)院《光學(xué)功能材料Ⅰ》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年度融資合同:甲方提供資金給乙方使用的協(xié)議3篇
- 2024版房地產(chǎn)中介居間合作補(bǔ)充協(xié)議-項(xiàng)目評(píng)估與風(fēng)險(xiǎn)評(píng)估3篇
- 安徽省蚌埠市聯(lián)考2024-2025學(xué)年七年級(jí)上學(xué)期12月期末考試英語試題(無答案)
- 心理健康課件教學(xué)課件
- 2024至2030年中國(guó)甲醚化氨基樹脂行業(yè)投資前景及策略咨詢研究報(bào)告
- 貴州省建筑工程施工資料管理導(dǎo)則
- 2024年度鋼模板生產(chǎn)與銷售承包合同3篇
- 《QHSE體系培訓(xùn)》課件
- 計(jì)量經(jīng)濟(jì)學(xué)論文-城鎮(zhèn)單位就業(yè)人員工資總額的影響因素
- 《農(nóng)業(yè)企業(yè)經(jīng)營(yíng)管理》試題及答案(U)
- 山東省聊城市2024-2025學(xué)年高一上學(xué)期11月期中物理試題
- 孫悟空課件教學(xué)課件
- 華南理工大學(xué)《自然語言處理》2023-2024學(xué)年期末試卷
評(píng)論
0/150
提交評(píng)論