




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一 實(shí)驗(yàn)內(nèi)容和目實(shí)驗(yàn)內(nèi)容:1.單鏈表的建立(創(chuàng)立一種一元多項(xiàng)式單鏈表的遍歷(一元多項(xiàng)式的輸出、一元多項(xiàng)式的項(xiàng)數(shù)統(tǒng)計(jì)單鏈表的合并(一元多項(xiàng)式的加減運(yùn)算二 實(shí)驗(yàn)原18??12+17??9+9??6+5??3+6??2+新的結(jié)點(diǎn)插在該結(jié)點(diǎn)的前面;否則跟背面一種再比較(pq指針向鏈表后移(序單鏈表的合并(即本例中的一元多項(xiàng)式的加減法P1為:18??17+9??8+4??2+P2為:12??12+7??8+P1+P2的成果為:18??17+12??12+16??8+4??3+4??2+先運(yùn)用兩個(gè)指針,PaPbPaPbPa指向的結(jié)點(diǎn)插入到新的PaPbPb指向的結(jié)點(diǎn)插入到新的PaPb指向的結(jié)點(diǎn)指數(shù),則先把兩者指向結(jié)點(diǎn)指數(shù)相加,PaPa,PbPb指向的結(jié)點(diǎn)。具體環(huán)節(jié)如圖一種鏈表剩余的全部結(jié)點(diǎn)插入到鏈表之中(即只需要把剩余的結(jié)點(diǎn)接起來(lái)三 程序流程四 實(shí)驗(yàn)成五 操作闡1(創(chuàng)立一元多項(xiàng)式)2(輸出一元多項(xiàng)式)5(求一元多項(xiàng)式操作)1(創(chuàng)立一元多項(xiàng)式)創(chuàng)立多項(xiàng)式。六 附錄:代#include<stdio.h>#include<stdlib.h>#defineOK#defineERRORtypedefstruct{int float structLNode }/*基本操作的實(shí)現(xiàn)向鏈表中插入一種新的結(jié)點(diǎn)(插入過(guò)程中保持指數(shù)降序排序hNodenNodeintInsertLNode(LNode*hNode,LNode{LNode*p,if(hNode->next=={}{
hNode->next=p=q=hNode-while(q!={如果新的結(jié)點(diǎn)指數(shù)比q結(jié)點(diǎn)的指數(shù)大,則該結(jié)點(diǎn)插在qif(nNode->exp>q-{nNode->next=q;p->next=nNode;}如果新的結(jié)點(diǎn)指數(shù)與qif(nNode->exp==q-{q->coef=nNode->coef+q->coef;}如果新的結(jié)點(diǎn)指數(shù)比q如果q是最后一種結(jié)點(diǎn),直接插入在q如果q不是最后一種結(jié)點(diǎn),則qif(q->next=={}{}}}
nNode->next=q->next;q->next=nNode;p=p-q=q-return}因此,規(guī)定傳入的Pa和PbvoidAddPolyn(LNode*Pa,LNode{LNode*head,*q, LNode LNode head=(LNode*)malloc(sizeof(LNode*));head->next=NULL;q=head;PtrB=Pa=Pa->next;Pb=Pb-如果Pa和Pbwhile(Pa&&{如果Pa所指向結(jié)點(diǎn)的指數(shù)不不大于Pbif(Pa->exp>Pb-{把Patmp=Pa=Pa->next;tmp->next=NULL;q->next=tmp;q=q->next;}如果Pa所指向結(jié)點(diǎn)的指數(shù)等于Pbif(Pa->exp==Pb-{先把Pa指向結(jié)點(diǎn)和Pb指向結(jié)點(diǎn)的系數(shù)相加,并儲(chǔ)存到Pa再把Patmp=tmp->coef=tmp->coef+Pb->coef;recycle=Pb;Pa=Pa->next;Pb=Pb->next;tmp->next=NULL;q->next=tmp;q=q->next;}如果Pa所指向結(jié)點(diǎn)的指數(shù)不大于Pbif(Pa->exp<Pb-{把Pbtmp=Pb=Pb->next;tmp->next=NULL;q->next=tmp;q=q->next;}}if{q->next=}if{q->next=}PtrB->next=把新的鏈表頭結(jié)點(diǎn)賦到PaPa=head;}//A-B=A+(-voidSubtractPolyn(LNode*Pa,LNode{LNode把Lbfor(p=Pb->next;p!=NULL;p=p->next)p->coef=-(p->coef);AddPolyn(Pa,}/*具體功效的實(shí)現(xiàn)intCreatePolynomial(LNode{inti,n,exp;floatcoef;LNode*node;if(scanf("%d",&n)==0{returnERROR;}printf("即將創(chuàng)立一種項(xiàng)數(shù)為%d的多項(xiàng)式\n"for(i=1;i<=n;i++{printf("請(qǐng)輸入第%d項(xiàng)的系數(shù)和指數(shù):"if(scanf("%f,%d",&coef,&exp)=={node=(LNodeif{return}//向新結(jié)點(diǎn)賦值node->exp=exp;node->coefcoef;node->next}{}}
InsertLNode(hNode,if(i==n+}
returnOK;returnERROR;voidPrintPolynomial(LNode{LNode*p=head-inti while(p!={如果系數(shù)不為0if(p->coef!={if(i++!=0&&p->coef>0)printf("%.2fx^%d",p->coef,p-}
避免系數(shù)為0if(p->next&&p->next->coef==0)printf(""); p=p-}}voidListTravel(LNode{intn=0;LNode*p;for(p=head->next;p!=NULL;p=p->next)printf("%d,",for(p=head->next;p!=NULL;p=p->next)printf("%.2f,%d,",p->coef,p->exp);}voidListCount(LNode{LNode*p;inti=每發(fā)現(xiàn)一種非空結(jié)點(diǎn),ifor(p=head->next;p!=NULL;p=p->next)printf("\n該一元多項(xiàng)式有%d項(xiàng)\n\n"i);}void{LNode*La,La=(LNode*)malloc(sizeof(LNode));Lb=(LNodeLa->next=Lb->next=if(CreatePolynomial(La)==ERROR){}if(CreatePolynomial(Lb)==ERROR){}AddPolyn(La,Lb);}void{LNode*La,La=(LNode*)malloc(sizeof(LNode));Lb=(LNodeLa->next=Lb->next=if(CreatePolynomial(La)==ERROR){}if(CreatePolynomial(Lb)==ERROR){}SubtractPolyn(La,Lb);}int{LNode*head=(LNode*)malloc(sizeof(LNode));charch='\0';if{return}head->next=while{printf("單鏈表的應(yīng)用演示程序\n");printf(一元多項(xiàng)式的表達(dá)及相加\n");printf(1.創(chuàng)立一種一元多項(xiàng)式并輸出printf(2.遍歷單鏈表并輸出整數(shù)序列printf(3.創(chuàng)立兩個(gè)一元多項(xiàng)式并相加printf(4.創(chuàng)立兩個(gè)一元多項(xiàng)式并相減printf(5.求一種一元多項(xiàng)式中的項(xiàng)數(shù)\n");printf(Q.退出程序printf(scanf("%c",&ch);switch(ch){caseif(head->next!={head=(LNode*)malloc(sizeof(LNode)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 促進(jìn)校園國(guó)際化的社團(tuán)活動(dòng)計(jì)劃
- 制定高科技企業(yè)安全方案計(jì)劃
- 加強(qiáng)對(duì)特殊群體的招聘與支持計(jì)劃
- 美容院面診知識(shí)培訓(xùn)課件
- 貴州康騰能源集團(tuán)有限公司畢節(jié)市七星關(guān)區(qū)小壩鎮(zhèn)王家壩煤礦變更礦產(chǎn)資源綠色開(kāi)發(fā)利用方案(三合一)評(píng)審意見(jiàn)
- 小學(xué)英語(yǔ)五年級(jí)選詞填空
- 2025年河北貨運(yùn)從業(yè)資格證模擬考試題及答案詳解
- 2025年合肥貨運(yùn)從業(yè)資格證考試試題和答案詳解
- 鼻綜合培訓(xùn)專業(yè)知識(shí)課件
- 【人教PEP版英語(yǔ)六年級(jí)上冊(cè)】期末測(cè)試卷(12)及答案
- 2025年安徽合肥市軌道交通集團(tuán)限公司社會(huì)招聘24人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 民法典合同編培訓(xùn)
- 醫(yī)學(xué)倫理與醫(yī)患溝通技巧
- 個(gè)人信息保護(hù):維護(hù)個(gè)人隱私和數(shù)據(jù)安全
- 5.3.2 函數(shù)的極值與最大(小)值 第2課時(shí) 教學(xué)設(shè)計(jì)
- 2024-2030年中國(guó)油用牡丹行業(yè)需求狀況及產(chǎn)銷(xiāo)規(guī)模預(yù)測(cè)報(bào)告
- 無(wú)機(jī)化學(xué)實(shí)驗(yàn)(下)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋陜西師范大學(xué)
- 高等教育自學(xué)考試自考《英語(yǔ)二》試題及答案指導(dǎo)(2025年)
- 急性心力衰竭-
- 痔瘡中醫(yī)治療課件
- 2024年皖北衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)
評(píng)論
0/150
提交評(píng)論