版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1.將兩個非遞減有序鏈表合并為一個非遞減有序鏈表。要求結果鏈表仍使用原來兩個鏈表存放空間,不另外占用其它存放空間。表中不允許有重復數據。作業(yè)北京林業(yè)大學信息學院第1頁參考講稿和教材中算法2.12要單獨考慮
pa->data==pb->data
La(Lc)12467881011北京林業(yè)大學信息學院第2頁voidMergeList_L(LinkList&La,LinkList&Lb,LinkList&Lc){
LinkListpc,p;pa=La->next;pb=Lb->next;Lc=pc=La;//用La頭結點作為Lc頭結點while(pa&&pb){if(pa->data<pb->data){pc->next=pa;pc=pa;pa=pa->next;}elseif(pa->data>pb->data) {pc->next=pb;pc=pb;pb=pb->next;}
else{//相等時取La元素,刪除Lb元素 pc->next=pa;pc=pa;pa=pa->next; p=pb;pb=pb->next;free(p);}pc->next=pa?pa:pb;//插入剩下段free(Lb);//釋放Lb頭結點}北京林業(yè)大學信息學院第3頁2.將兩個非遞減有序鏈表合并為一個非遞增有序鏈表。要求結果鏈表仍使用原來兩個鏈表存放空間,不另外占用其它存放空間。表中允許有重復數據。
作業(yè)北京林業(yè)大學信息學院第4頁(1)Lc指向La(2)依次從La或Lb中“摘取”元素值較小結點插入到Lc表表頭結點之后,直至其中一個表變空為止(3)繼續(xù)將La或Lb其中一個表剩下結點插入在Lc表表頭結點之后(4)釋放Lb表表頭結點參考講稿和教材中算法2.12,步驟以下:北京林業(yè)大學信息學院第5頁12233445561132434854LaLbLc∧papbqpb∧qpaqpaq第2題實現(xiàn)過程動態(tài)演示北京林業(yè)大學信息學院第6頁voidunion(LinkList&La,LinkList&Lb,LinkList&Lc,){LinkListpa,pb,q;pa=La->next;pb=Lb->next;//初始化Lc=La;//用La頭結點作為Lc頭結點Lc->next=NULL;while(pa||pb){if(!pa){q=pb;pb=pb->next;}//pa=NULLelseif(!pb){q=pa;pa=pa->next;}//pb=NULLelseif(pa->data<=pb->data){q=pa;pa=pa->next;}else{q=pb;pb=pb->next;}q->next=Lc->next;Lc->next=q;//插入}free(Lb);//釋放Lb頭結點}
北京林業(yè)大學信息學院第7頁3.設計一個算法,經過一趟遍歷在單鏈表中確定值最大結點。
作業(yè)思想類似于求n個數中最大數,可假設第一個結點最大,用指針pmax指向,然后用pmax依次和后面結點進行比較,發(fā)覺大者則用pmax指向該結點,這么將鏈表從頭到尾遍歷一遍時,pmax所指向結點就是最大者。其中比較語句形式以下:if(p->data>pmax->data)pmax=p;北京林業(yè)大學信息學院第8頁ElemType
Max(LinkListL){ LinkListpmax,p; if(L->next==NULL)returnNULL; pmax=L->next;//假定第一個結點中數據含有最大值 p=L->next->next; while(p!=NULL){//假如下一個結點存在 if(p->data>pmax->data)pmax=p; p=p->next; } returnpmax->data;}北京林業(yè)大學信息學院第9頁4.設計一個算法,經過遍歷一趟,將鏈表中全部結點鏈接方向逆轉,仍利用原表存放空間。作業(yè)算法思想:從首元結點開始,逐一地把鏈表L當前結點p插入新鏈表頭部(1)標志后繼結點(2)修改指針(將p插入在頭結點之后)(3)重置結點p(p重新指向原表中后繼)北京林業(yè)大學信息學院第10頁a1a2a3LLpsucca1psucca2psucca3p(1)標志后繼結點(2)修改指針(將p插入在頭結點之后)(3)重置結點p(p重新指向原表中后繼)北京林業(yè)大學信息學院第11頁voidinverse(LinkList&L){//逆置帶頭結點單鏈表LLinkListp,succ;p=L->next;L->next=NULL;while(p){succ=p->next;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版油茶林產業(yè)扶貧與承包合作協(xié)議3篇
- 2025年度市政道路照明設施維護承包合同3篇
- 2024房產分割自愿離婚協(xié)議書
- 2025年度智能工廠安全生產合同協(xié)議書范本典范3篇
- 2024年版意向協(xié)議書模板3篇
- 2025年度蘇州物業(yè)管理服務質量提升合同
- 2025版公寓室內外裝修一體化工程合同2篇
- 2025年果園災害預防與應急救援合同
- 2025版口腔診所與保險公司合作的意外傷害保險合同3篇
- 2024年度裝配式建筑項目造價概算與施工圖設計服務合同3篇
- 住友(SWS)汽車連接器(Connectors)產品配套手冊
- 2024-2030年中國光電共封裝(CPO)行業(yè)投融資趨勢及發(fā)展前景分析研究報告
- 學生退學情況說明
- DB5334 T 12.5-2024《地理標志證明商標 香格里拉藏香豬》的第5部分疾病防治
- 辦公樓室內裝飾工程施工設計方案技術標范本
- 2023年香港華夏杯六年級競賽初賽數學試卷
- CJJ122-2017 游泳池給水排水工程技術規(guī)程
- 高中數學放縮法
- 上海市閔行區(qū)2024-2025學年八年級(上)期末物理試卷(解析版)
- 人教版三年級上冊數學期末測試卷可打印
- 醫(yī)療高級職稱評審論文答辯
評論
0/150
提交評論