數(shù)據(jù)結(jié)構(gòu)習(xí)題_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)習(xí)題_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)習(xí)題_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)習(xí)題_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)結(jié)構(gòu)習(xí)題第二章、第三章1、設(shè)順序表L是一個(gè)遞增(允許有相同值)有序表,試寫一個(gè)算法將x插入L中,并使L仍為一個(gè)有序表。VoidseqListInsert(SeqListL,intx){i=0;while((i<=L.length-1)&&(x>=L.elem[i]))i++;for(k=L.length-1;k>=i;k--)L.elem[k+1]=L.elem[k];L.elem[i]=x;L.length++;}刪除?1、順序表遞增,寫出刪除值為x的元素。IntSeqListdelete(SeqListL,intx){inti;i=0;while((i<=L.length-1)&&L.elem[i]!=x))i++;if(i<=L.length-1)for(k=i+1;k<=L.length-1;k++) {L.elem[k-1]=L.elem[k];L.lengh--;Return(1);}Elsereturn(0);}2、給定一個(gè)鏈表,在p點(diǎn)之前插入一個(gè)值為x的結(jié)點(diǎn)

IntLinkListInsert(LinkListL,intx){q=L;While(q->next!=p)q=q->next;s=(LinkList)malloc(sizeof(Lnode));s->data=x;s->next=p;q->next=s;returnOK;}3、計(jì)算帶頭結(jié)點(diǎn)的循環(huán)鏈表的結(jié)點(diǎn)個(gè)數(shù)intnumber(LinkedNodehead){p=head->next;i=0;while(p!=head){i++;p=p->next;}returni;}4、分別用順序表和單鏈表作為存儲(chǔ)結(jié)構(gòu),實(shí)現(xiàn)線性表(a0,a1,a2,……,an-1)就地逆置的操作,“就地”輔助空間O(1)Voidlinkedreverse(linkedlistL){p=L->next;L->next=Null;while(p!=Null)r=p;p=p->next;r->next=L->next;L->next=r;}}5、設(shè)單鏈表L是一個(gè)非遞減有序表,試寫一個(gè)算法將x插入其中后,仍保持L的有序性。VoidLinkListInsert(LinkedListL,intx){q=L;p=q->next;while(p!=Null)&&p->data<x){q=p;p=p->next;}s=(LinkedList)malloc(sizeof(Lnode))s->data=x;s->next=p;q->next=s;}1、設(shè)計(jì)兩個(gè)棧共享空間,并使用順序存儲(chǔ)結(jié)構(gòu)時(shí)的公共操作pushi(i,x)和popi(i,x),其中i=1,2Voidpushi(Sqstackst,inti,inte){if(st.top1==st.top2-1)printf(“棧滿”);elseif(i==1){st.data[st.top1]=e;st.top1++;}elseif(i==2){st.data[st.top2]=e;st.top2--;}}Typedefstruct{inttop1,top2;dataTypedata[M];}Sqstack;Voidpopi(Sqstackst,inti){if(i==1)if(st.top1==-1)printf(“棧1空”);else{st.top1--;x=st.data[st.top1];returnx;}elseif(i==2)if(st.top2==M)printf(“棧2空”);else{st.top2++;x=st.data[st.top2];returnx;}}2、假設(shè)以帶頭結(jié)點(diǎn)的循環(huán)鏈表表是隊(duì)列,并且只設(shè)一個(gè)指針指向隊(duì)尾結(jié)點(diǎn),但不設(shè)頭指針,設(shè)計(jì)相應(yīng)的入隊(duì)和出隊(duì)算法。typedefstructQNode{datatypedata;structQNode*next;}QNode,*QueuePtr;typedefstruct{QueuePtrrear;}LinkQueue;voidQueueIN(LinkQueue&Q,datatypex){s=(Queueptr)malloc(sizeof(QNode));s->data=x;s->next=Q->rear->next;Q->rear->next=s;Q->rear=s;}voidQueueOut(LinkQueue&Q){if(Q->rear->next==Q->rear)print

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論