![數(shù)據(jù)結(jié)構(gòu)算法_第1頁](http://file4.renrendoc.com/view/61c586e2ee45b1d05244119dbb7b7ab1/61c586e2ee45b1d05244119dbb7b7ab11.gif)
![數(shù)據(jù)結(jié)構(gòu)算法_第2頁](http://file4.renrendoc.com/view/61c586e2ee45b1d05244119dbb7b7ab1/61c586e2ee45b1d05244119dbb7b7ab12.gif)
![數(shù)據(jù)結(jié)構(gòu)算法_第3頁](http://file4.renrendoc.com/view/61c586e2ee45b1d05244119dbb7b7ab1/61c586e2ee45b1d05244119dbb7b7ab13.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1.順序表插入算法2.6(P19)voidListInsert_Sq(SqList&L,inti,ElemTypee){//在順序線性表L的第i個(gè)元素之前插入新的元素e,i的合法值為//1≤i≤L.length+1,若表中容量不足,則按預(yù)定義增量擴(kuò)容if(i<1||i>L.length+1)ErrorMessage("i值不合法");if(L.length>=L.listsize)increment(L,L.incrementsize);//當(dāng)前存儲空間已滿,為L增加分配L.incrementsize個(gè)元素空間q=&(L.elem[i-1]);//q為插入位置for(p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p;//插入位置及之后的元素右移*q=e;//插入e++L.length;//表長增1}//ListInsert_Sq2.刪除元素操作(算法2.7)voidListDelete_Sq(SqList&L,inti,ElemType&e){//在順序線性表L中刪除第i個(gè)元素,并用e返回其值。//i的合法值為1≤i≤L.length。if((i<1)||(i>L.length))ErrorMessage("i值不合法");p=&(L.elem[i-1]);//p為被刪除元素的位置e=*p;//被刪除元素的值賦給eq=L.elem+L.length-1;//表尾元素的位置for(++p;p<=q;++p)*(p-1)=*p;//被刪除元素之后的元素左移--L.length;//表長減1}//ListDelete_Sq3.算法2.10voidexchang1(SqList&A,intm,intn){intk,j;for(k=1;k<=n;k++){w=A.elem[m+k-1];for(j=m+k-1;j>=k;j--)A.elem[j]=A.elem[j-1];A.elem[k-1]=w;}//for}//exchang14.在鏈表中將s結(jié)點(diǎn)插入到p結(jié)點(diǎn)之前(算法2.16)voidListInsert(LinkList&L,LNode*p,LNode*s)//不帶頭結(jié)點(diǎn){if(p==L){s->next=L;L=s;}//將s結(jié)點(diǎn)插入在鏈表的第一個(gè)結(jié)點(diǎn)之前else{q=L;while(q->next!=p)q=q->next;//查找p的前驅(qū)qq->next=s;s->next=p;//在q結(jié)點(diǎn)之后插入s結(jié)點(diǎn)}}voidListInsert(LinkList&L,LNode*p,LNode*s)//帶頭結(jié)點(diǎn){q=L;while(q->next!=p)q=q->next;//查找p的前驅(qū)qq->next=s;s->next=p;//在q結(jié)點(diǎn)之后插入s結(jié)點(diǎn)}//將對首元結(jié)點(diǎn)的操作和其他結(jié)點(diǎn)的操作統(tǒng)一起來5.逆序創(chuàng)建鏈表(算法2.18)voidCreateList_H(LinkList&L,ElemTypeA[],intn)//帶頭結(jié)點(diǎn){L=newLNode;L->next=NULL;//先建立一個(gè)空的單鏈表for(i=n-1;i>=0;--i){s=newLNode;//生成新結(jié)點(diǎn)s->data=A[i];//賦元素值s->next=L->next;L->next=s;//插入在第一個(gè)結(jié)點(diǎn)之前}voidCreateList_H(LinkList&L,ElemTypeA[],intn)//不帶頭結(jié)點(diǎn){L=NULL;//先建立一個(gè)空的單鏈表for(i=n-1;i>=0;--i){s=newLNode;//生成新結(jié)點(diǎn)s->data=A[i];//賦元素值s->next=L;L=s;//插入在第一個(gè)結(jié)點(diǎn)之前}}6.指向尾結(jié)點(diǎn)的循環(huán)有序鏈表求并集(帶頭結(jié)點(diǎn))voidunion_OL(LinkList&La,LinkList&Lb){//La和Lb分別為表示集合A和B的循環(huán)鏈表的頭指針,求C=A∪B,操作完成之后,La為表示集合C的循環(huán)鏈表的頭指針,集合A和B的鏈表不再存在pa=La->next->next;//pa指向A中當(dāng)前考察的結(jié)點(diǎn)pb=Lb->next->next;//pb指向B中當(dāng)前考察的結(jié)點(diǎn)rc=La->next;//rc指向C當(dāng)前的表尾結(jié)點(diǎn)while(pa!=La->next&&pb!=Lb->next){if(pa->data<pb->data){//鏈接A的結(jié)點(diǎn),pa指向A中下一結(jié)點(diǎn)rc->next=pa;rc=pa;pa=pa->next;}//ifelseif(pa->data>pb->data){//鏈接B的結(jié)點(diǎn),pb指向B中下一結(jié)點(diǎn)rc->next=pb;rc=pb;pb=pb->next;}else{//鏈接A的元素,釋放B的結(jié)點(diǎn),pa、pb分別指//向各自下一元素rc->next=pa;rc=pa;pa=pa->next;qb=pb;pb=pb->next;deleteqb;}//else}//whileif(pb==Lb->next)rc->next=pa;//鏈接A的剩余段else{//鏈接B的剩余段rc->next=pb;pb=Lb->next;//pb指向B的頭結(jié)點(diǎn)Lb->next=La->next;La=Lb;//構(gòu)成C的循環(huán)鏈}//elsedeletepb;//釋放B表的表頭}//union_OL7.算法6.2voidInOrder_iter(BiTreeBT,void(*visit)(BiTree)){//利用棧實(shí)現(xiàn)中序遍歷二叉樹,BT為指向二叉樹的根結(jié)//點(diǎn)的頭指針I(yè)nitStack(S);e.ptr=BT;e.task=Travel;//e為棧元素if(BT)Push(S,e);//布置初始任務(wù)while(!StackEmpty(S))//每次處理一項(xiàng)任務(wù){(diào)Pop(S,e);if(e.task==Visit)visit(e.ptr);//處理訪問任務(wù)elseif(e.ptr)//處理非空樹的遍歷任務(wù){(diào)p=e.ptr;e.ptr=p->rchild;e.task=Travel;Push(S,e);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湘教版地理八年級下冊7.4《長江三角洲區(qū)域的內(nèi)外聯(lián)系》(第2課時(shí))聽課評課記錄
- 北師大版道德與法治七年級下冊9.1《我們身邊的法律》聽課評課記錄
- 湘教版數(shù)學(xué)九年級下冊聽評課記錄:2.3 垂徑定理
- 小學(xué)二年級上冊數(shù)學(xué)口算練習(xí)題人教版新課標(biāo)
- 小學(xué)二年級人教版口算及豎式計(jì)算寒假練習(xí)A4排版
- 小學(xué)二年級加減乘法口算練習(xí)題
- 蘇教版小學(xué)二年級數(shù)學(xué)上冊口算題卡
- 超市連鎖加盟合同范本
- 儲藏室租賃合同范本
- 汽車二級經(jīng)銷商合作協(xié)議書范本
- 高標(biāo)準(zhǔn)農(nóng)田施工組織設(shè)計(jì)(全)
- 宿舍、辦公樓消防應(yīng)急預(yù)案
- 細(xì)胞全能性的課件資料
- 職業(yè)安全健康工作總結(jié)(2篇)
- 14S501-1 球墨鑄鐵單層井蓋及踏步施工
- YB 4022-1991耐火泥漿荷重軟化溫度試驗(yàn)方法(示差-升溫法)
- 水土保持方案中沉沙池的布設(shè)技術(shù)
- 安全生產(chǎn)技術(shù)規(guī)范 第25部分:城鎮(zhèn)天然氣經(jīng)營企業(yè)DB50-T 867.25-2021
- 現(xiàn)代企業(yè)管理 (全套完整課件)
- 走進(jìn)本土項(xiàng)目化設(shè)計(jì)-讀《PBL項(xiàng)目化學(xué)習(xí)設(shè)計(jì)》有感
- 高中語文日積月累23
評論
0/150
提交評論