版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件技術(shù)基礎(chǔ)線(xiàn)性結(jié)構(gòu)——鏈表制作主講段景山鏈表的典型形態(tài)請(qǐng)用5分鐘快速閱讀教材第9頁(yè)至第12頁(yè)。回答以下問(wèn)題:什么是頭結(jié)點(diǎn)?教材中的單鏈表插入算法與教案中的插入算法有什么大的區(qū)別——即頭結(jié)點(diǎn)有什么用?鏈表的典型形態(tài)1.2.5鏈表的典型形態(tài)1、單鏈表如前所述2、帶頭節(jié)點(diǎn)的單鏈表頭節(jié)點(diǎn):是一個(gè)特殊的鏈點(diǎn),數(shù)據(jù)內(nèi)容無(wú)效鏈點(diǎn)指針指向鏈表頭/////a1...頭節(jié)點(diǎn)aian...a1an......ai頭指針鏈表的典型形態(tài)帶頭節(jié)點(diǎn)的單鏈表幾個(gè)容易混淆的概念第一個(gè)元素節(jié)點(diǎn)、頭指針、頭節(jié)點(diǎn)、鏈表頭a1ai+1anheadtailai-1......ai/////a1...aian...第一個(gè)元素節(jié)點(diǎn)頭指針頭節(jié)點(diǎn)head第一個(gè)元素節(jié)點(diǎn)、鏈表頭鏈表的典型形態(tài)帶頭節(jié)點(diǎn)單鏈表的操作特點(diǎn)插入和刪除算法不必考慮在表首進(jìn)行時(shí),需要更改頭指針的特殊處理——把第一元素鏈點(diǎn)地址記錄在某個(gè)鏈點(diǎn)的next域內(nèi)/////a1...aian...headp=head;p->next=p->next->next;while(location>1&&p!=NULL){…}如果location為1,表首節(jié)點(diǎn)將被刪除p為什么教材中使用**而教案中沒(méi)有使用?鏈表的定義不同教材中僅定義了鏈點(diǎn),沒(méi)有定義鏈表結(jié)構(gòu),一個(gè)鏈表僅由一個(gè)頭指針開(kāi)始教案中還定義了鏈表結(jié)構(gòu)在結(jié)構(gòu)中除了有鏈表頭指針,還有……typedefstructlist_type{ node_type*head; node_type*tail; intlength;}list_type;headtaillengtha1a2為什么教材中使用**而教案中沒(méi)有使用?教材voidmain(){node*head;createsl(&head);……}voidcreatesl(node**h){*h=firstnode;……}教案voidmain(){list_typelist;create_l(&list);……}voidcreate_l(list_type*l){l->head=firstnode;……}headheadheadtaillengthheadtaillengtha1為什么教材中使用**而教案中沒(méi)有使用?本質(zhì)是一樣的:要在調(diào)用的子函數(shù)中改變頭指針的指向改變指針的指向,即改變指針變量的內(nèi)容要改變指針的內(nèi)容,必須將指針變量的地址傳入教材中是將指針的地址傳入--指針的指針教案中將地址所在的結(jié)構(gòu)的地址傳入其它常用的鏈表形式請(qǐng)用1分鐘的時(shí)間快速閱讀教材第12頁(yè)至15頁(yè),回答問(wèn)題:鏈表還有哪些形式,有什么特點(diǎn)?雙向鏈表1.3雙向鏈表特點(diǎn):每一個(gè)鏈點(diǎn)包含兩個(gè)指針,前趨指針后繼指針a1……h(huán)eadtailNa2NPanPa1NPP:priorN:next雙向鏈表1.3.1雙向鏈表的定義typedefstructdouble_link_node_type{ structdouble_link_node_type*prior; structdouble_link_node_type*next; elemtypedata;}dl_node_type;typedefstructdouble_link_list_type{ dl_node_type*head; dl_node_type*tail; intlength;}dl_list_type;鏈點(diǎn)的定義鏈表的定義雙向鏈表插入1.3.2雙向鏈表的插入操作問(wèn)題描述:在第i個(gè)元素前插入新元素試試小紙片的方法能不能幫助思考ai-1NPaiNPanewNP50li55duan61yang66ma70liu61667050NULL44anewNULL66NULL505561head=55雙向鏈表插入1.3.2雙向鏈表的插入操作ai-1NPaiNP問(wèn)題描述:在第i個(gè)元素前插入新元素anewNP1、anew->next=ai2、ai-1->next=anew3、anew->prior=ai-14、ai->prior=anewpanew->next=p;p->prior->next=anew;anew->prior=p->prior;p->prior=anew;僅使用p指針?lè)ㄒ唬弘p向鏈表插入1.3.2雙向鏈表的插入操作ai-1ai問(wèn)題描述:在第i個(gè)元素前插入新元素anewp2、anew->next=p;1、p->prior->next=anew;3、anew->prior=p->prior;4、p->prior=anew;法二:雙向鏈表插入1.3.2雙向鏈表的插入操作ai-1ai問(wèn)題描述:在第i個(gè)元素前插入新元素anewp2、anew->next=p;3、anew->prior=p->prior;1、p->prior=anew;法三:在操作雙向鏈表時(shí)同樣要注意操作順序雙向鏈表插入算法實(shí)現(xiàn)(略)找到ai執(zhí)行插入操作體會(huì)插入操作有多種方式實(shí)現(xiàn),步驟比較復(fù)雜雙向鏈表的使用靈活,可進(jìn)可退練習(xí):前面的四個(gè)步驟的組合順序里,哪些是正確的,哪些是錯(cuò)誤的?通過(guò)這個(gè)練習(xí),加強(qiáng)鏈表指針操作的訓(xùn)練雙向鏈表刪除1.3.3雙向鏈表的刪除操作問(wèn)題描述:刪除第i個(gè)元素ai-1aiai+1ppp(1)(2)(3)(1)當(dāng)p在ai-1處時(shí)p->next->next->prior=p;p->next=p->next->next雙向鏈表刪除1.3.3雙向鏈表的刪除操作問(wèn)題描述:刪除第i個(gè)元素ai-1aiai+1ppp(1)(2)(3)(2)當(dāng)p在ai處時(shí)課堂作業(yè)請(qǐng)完成算法(3)當(dāng)p在ai+1處時(shí)循環(huán)鏈表1.4循環(huán)鏈表a1ai+1anheadtailai-1......ai將鏈表頭尾相接headerai+1antaila1...ai…對(duì)循環(huán)鏈表的遍歷可以從任何一個(gè)節(jié)點(diǎn)開(kāi)始循環(huán)鏈表例,將兩個(gè)循環(huán)鏈表連接起來(lái)a1ai+1antail1ai-1......aib1tail2......node_type*merge_list(tail1,tail2){}tail1->next=tail2->next;tail2->next=tail1->next;???returntail2;temp=tail1->next;tail1->next=tail2->next;tail2->next=temp;擴(kuò)展:靜態(tài)鏈表“在數(shù)組內(nèi)”的鏈表指針域不是真正的指針,而是記錄后繼元素在數(shù)組內(nèi)的下標(biāo)和我們的“小紙條”很相近liduanyangmaliu2340-101234作業(yè)作業(yè):5、在一個(gè)從小到大按序排列的雙向鏈表中,將新元
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公積金房屋買(mǎi)賣(mài)的協(xié)議2025年
- 借款合同專(zhuān)業(yè)版
- 水鄉(xiāng)古鎮(zhèn)研學(xué)課程設(shè)計(jì)
- 旅館管理系統(tǒng)課程設(shè)計(jì)
- 區(qū)塊鏈供應(yīng)鏈金融服務(wù)協(xié)議
- 企業(yè)級(jí)系統(tǒng)實(shí)施和服務(wù)合同
- 泵選型課程設(shè)計(jì)
- 企業(yè)社會(huì)責(zé)任項(xiàng)目合作開(kāi)發(fā)合同
- 機(jī)械課程設(shè)計(jì)單級(jí)
- 軍人離婚協(xié)議書(shū)模版示例3篇
- 2023-2024學(xué)年北京豐臺(tái)數(shù)學(xué)四年級(jí)第一學(xué)期期末調(diào)研試題含答案
- 中考英語(yǔ)詞匯表-初中英語(yǔ)詞匯表3500詞
- 設(shè)計(jì)批評(píng)(設(shè)計(jì)概論)課件
- 汽車(chē)運(yùn)動(dòng)四大賽事教學(xué)課件
- 外協(xié)人員應(yīng)急預(yù)案
- 人事異動(dòng)單(標(biāo)準(zhǔn)模版)
- 氣排球基礎(chǔ)教程PPT完整全套教學(xué)課件
- 勞動(dòng)保障監(jiān)察相關(guān)業(yè)務(wù)課件
- 煙霧病病人的護(hù)理-課件
- 投資公司勞務(wù)合同
- 小紅帽故事PPT課件16
評(píng)論
0/150
提交評(píng)論