




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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鏈表的概念鏈表是一種常見(jiàn)而重要的動(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)來(lái)定義單向鏈表結(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)地開(kā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存放該空間的首地址。返回值:無(wú)。例如: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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年秋小學(xué)語(yǔ)文教師培訓(xùn)計(jì)劃
- 語(yǔ)文教研組學(xué)生評(píng)估計(jì)劃
- 烏魯木齊科技金融結(jié)合的機(jī)遇與挑戰(zhàn)
- 橋梁建設(shè)中的風(fēng)險(xiǎn)管理與控制措施
- 中華傳統(tǒng)手工藝的商業(yè)化發(fā)展
- 幼兒園語(yǔ)言發(fā)展課程活動(dòng)計(jì)劃
- 教育行業(yè)V7000存儲(chǔ)硬盤更換流程
- 企業(yè)品牌建設(shè)與營(yíng)銷傳播策略
- 體育團(tuán)隊(duì)競(jìng)技水平教育整頓措施
- 人才流動(dòng)與職業(yè)發(fā)展的關(guān)系
- 觀察物體(1)(教學(xué)設(shè)計(jì))2024-2025學(xué)年一年級(jí)下冊(cè)數(shù)學(xué)蘇教版
- 教科版2024-2025學(xué)年六年級(jí)下冊(cè)科學(xué)3.1《太陽(yáng)系大家庭》同步練習(xí)(附參考答案)
- 2025年寧夏寧東開(kāi)發(fā)投資有限公司招聘筆試參考題庫(kù)含答案解析
- 《半導(dǎo)體行業(yè)發(fā)展歷程》課件
- 上海市智算中心建設(shè)導(dǎo)則(2025年版)
- 2025山東能源集團(tuán)中級(jí)人才庫(kù)選拔高頻重點(diǎn)提升(共500題)附帶答案詳解
- 高等學(xué)歷繼續(xù)教育畢業(yè)生實(shí)習(xí)報(bào)告
- DB32T 2060-2024 單位能耗限額
- 形勢(shì)與政策總體國(guó)家安全觀
- 2024年世界職業(yè)院校技能大賽中職組“食品藥品檢驗(yàn)組”賽項(xiàng)考試題庫(kù)(含答案)
- Unit 5 Humans and nature Lesson 1 A Sea Story 說(shuō)課 課件-2024-2025學(xué)年高中英語(yǔ)北師大版(2019)必修第二冊(cè)
評(píng)論
0/150
提交評(píng)論