版權(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é)生成績信息(包括學(xué)號(hào)、姓名、成績)的單向鏈表,學(xué)生記錄按學(xué)號(hào)由小到大順序排列,要求實(shí)現(xiàn)對(duì)成績信息的插入、修改、刪除和遍歷操作。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í),一般需要事先定義好固定長度的數(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ū)中分配一塊長度為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年大型購物中心品牌入駐管理合同
- 2024企業(yè)內(nèi)部審計(jì)與風(fēng)險(xiǎn)管理合同屬性明確
- 2024年大數(shù)據(jù)分析與應(yīng)用合同標(biāo)的及數(shù)據(jù)處理細(xì)節(jié)
- 2024年客戶關(guān)系管理與反賄賂規(guī)定
- 2024年居民住宅瓷磚裝修工程合同
- 課程設(shè)計(jì)電容測(cè)量儀
- 2023年廣西真龍彩印包裝有限公司招聘考試真題
- 2023年日照銀行招聘考試真題
- 2024年企業(yè)信息化建設(shè)與實(shí)施合同
- (2024版)教育培訓(xùn)機(jī)構(gòu)師資勞務(wù)承包
- 療養(yǎng)院建筑設(shè)計(jì)規(guī)范
- 湘少版級(jí)英語單詞表吐血整理
- 2022版義務(wù)教育(英語)課程標(biāo)準(zhǔn)(含2022年修訂和新增部分)
- 市政工程質(zhì)量評(píng)估報(bào)告范本
- 噴漆烘干室設(shè)計(jì)方案
- 會(huì)議旁聽記錄表模板
- 建設(shè)項(xiàng)目主要污染物新增排放容量核定表試行
- 大體積混凝土熱工計(jì)算小軟件
- 由冷變熱(課堂PPT)
- 網(wǎng)球比賽計(jì)分表(共2頁)
- 地錨抗拔力計(jì)算
評(píng)論
0/150
提交評(píng)論