已閱讀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)實(shí)驗(yàn)參考代碼實(shí)驗(yàn)一:針對(duì)鏈?zhǔn)交蝽樞虼鎯?chǔ)的線性表實(shí)現(xiàn)指定的操作題1 問題描述:有兩個(gè)指數(shù)遞減的一元多項(xiàng)式,寫一程序先求這兩個(gè)多項(xiàng)式的和,再求它們的積。基本要求:用帶表頭結(jié)點(diǎn)的單鏈表作為多項(xiàng)式的存儲(chǔ)表示;要建立兩個(gè)單鏈表;多項(xiàng)式相加就是要把一個(gè)單鏈表中的結(jié)點(diǎn)插入到另一個(gè)單鏈表中去,要注意插入、刪除操作中指針的正確修改。題2 問題描述:編號(hào)為1,2,n的n個(gè)人圍坐在一圓桌旁,每人持有一個(gè)正整數(shù)的密碼。從第一個(gè)人開始報(bào)數(shù),報(bào)到一個(gè)預(yù)先約定的正整數(shù)m時(shí),停止報(bào)數(shù),報(bào)m的人退席,下一個(gè)人又重新從1開始報(bào)數(shù),依此重復(fù),直至所有的人都退席。編一程序輸出他們退席的編號(hào)序列。例如,設(shè)m=20,n=7,7個(gè)人的密碼依次是3,1,7,2,4,8,4,則退席的人的編號(hào)依次為6,1,4,7,2,3,5?;疽螅河貌粠П眍^結(jié)點(diǎn)的循環(huán)單鏈表表示圍成圓圈的n個(gè)人;要求建立此循環(huán)單鏈表;某人離席相當(dāng)于刪除一個(gè)結(jié)點(diǎn),要正確設(shè)置程序中循環(huán)終止的條件和刪除結(jié)點(diǎn)時(shí)指針的修改變化。/實(shí)驗(yàn)1.1代碼#includeusing namespace std;struct poNodefloat coef;int expn;poNode *next;class Polynomailpublic:Polynomail(int m=0); Polynomail();int Print();int PolynLength();Polynomail &AddPolyn(Polynomail &P2,Polynomail &P3);Polynomail &MultiplyPolyn(Polynomail &P2,Polynomail &P4);private:int InsertpoNode();poNode *first;int main()int m;cout輸入多項(xiàng)式P1項(xiàng)數(shù)m;Polynomail P1(m);if(P1.PolynLength()!=m)couterror!endl;return -1;cout輸入多項(xiàng)式P2項(xiàng)數(shù)m;Polynomail P2(m);if(P2.PolynLength()!=m)couterror!endl;return -1;cout多項(xiàng)式P1:;P1.Print();cout多項(xiàng)式P2:;P2.Print();Polynomail P3;P3=P1.AddPolyn(P2,P3);coutP1+P2:;P3.Print();Polynomail P4;P4=P1.MultiplyPolyn(P2,P4);coutP1*P2:;P4.Print();return 0;int Polynomail:InsertpoNode()if(first=NULL)first=new poNode;cout輸入系數(shù)和指數(shù):first-coef;cinfirst-expn;first-next=NULL;elsepoNode *p=new poNode;poNode *q=first;cout輸入系數(shù)和指數(shù):p-coef;cinp-expn;poNode *r;while(q-next!=NULL&q-expnexpn)r=q;q=q-next;if(q=first&q-next!=NULL) if(q-expn=p-expn) return -1;p-next=q;first=p;else if(q=first&q-next=NULL)if(p-expnexpn)p-next=q;first=p;else if(p-expnq-expn)q-next=p;p-next=NULL;else return -1;else if(q-next=NULL&q!=first&p-expnq-expn)q-next=p;p-next=NULL;elseif(q-expn=p-expn)return -1;r-next=p;p-next=q;return 0;Polynomail:Polynomail(int m)first=NULL;int i;for(i=0;im;i+)int r=InsertpoNode();if(r=-1) break;int Polynomail:Print()poNode *p=first;coutf(x)=;if(first=NULL) coutNULLendl;while(p!=NULL)coutcoef*xexpn;if(p-next=NULL) coutendl;else coutnext;return 0;Polynomail:Polynomail()poNode *p=first;while(p!=NULL)p=p-next;delete first;first=p;int Polynomail:PolynLength()int i=0;poNode *p=first;while(p!=NULL)p=p-next;i+;return i;Polynomail &Polynomail:AddPolyn(Polynomail &P2,Polynomail &P3)poNode *p=first;poNode *q=P2.first;P3.first=new poNode;poNode *r=P3.first;while(p!=NULL&q!=NULL)if(p-expn=q-expn) r-coef=p-coef+q-coef;r-expn=p-expn;p=p-next;q=q-next;else if(p-expnexpn)r-coef=p-coef;r-expn=p-expn;p=p-next;elser-coef=q-coef;r-expn=q-expn;q=q-next;if(p!=NULL|q!=NULL)r-next=new poNode;r=r-next;else r-next=NULL;while(p!=NULL|q!=NULL)if(p!=NULL)r-coef=p-coef;r-expn=p-expn;p=p-next;elser-coef=q-coef;r-expn=q-expn;q=q-next;if(p!=NULL|q!=NULL)r-next=new poNode;r=r-next;else r-next=NULL;return P3;Polynomail &Polynomail:MultiplyPolyn(Polynomail &P2,Polynomail &P4)poNode *p=first;while(p!=NULL)Polynomail P3;poNode *q=P2.first;P3.first=new poNode;poNode *r=P3.first;r-coef=p-coef*q-coef;r-expn=p-expn+q-expn;q=q-next;while(q!=NULL)r-next=new poNode;r=r-next;r-coef=p-coef*q-coef;r-expn=p-expn+q-expn;q=q-next;r-next=NULL;P4=P4.AddPolyn(P3,P4);p=p-next;return P4;/實(shí)驗(yàn)1.2代碼#includeusing namespace std;struct numNodeint key;int num;numNode *next;int CreatCircleList(numNode *now,int length);int Loop(numNode *now,int m);int main()int m;int n;numNode *now=new numNode;cout請(qǐng)輸入人數(shù):n;cout請(qǐng)輸入初始數(shù)m:m;CreatCircleList(now,n);Loop(now,m);return 0;int CreatCircleList(numNode *now,int length)if(length=0)couterror!num=1;cout請(qǐng)輸入編號(hào)為1的人擁有的密碼。now-key;numNode *p=now;int i;for(i=1;inext=new numNode;p=p-next;p-num=i+1;cout請(qǐng)輸入編號(hào)為i+1的人擁有的密碼。p-key;p-next=now;ret
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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í)數(shù)學(xué)口算100題
- 昆明冶金高等??茖W(xué)校《醫(yī)學(xué)文獻(xiàn)檢索1》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇食品藥品職業(yè)技術(shù)學(xué)院《中外文學(xué)名著欣賞藏》2023-2024學(xué)年第一學(xué)期期末試卷
- 吉林建筑大學(xué)《商務(wù)統(tǒng)計(jì)實(shí)訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖南軟件職業(yè)技術(shù)大學(xué)《GIS軟件應(yīng)用實(shí)驗(yàn)(一)》2023-2024學(xué)年第一學(xué)期期末試卷
- 湖北幼兒師范高等??茖W(xué)校《過程原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 【物理】《跨學(xué)科實(shí)踐:制作微型密度計(jì)》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教版(2024)初中物理八年級(jí)下冊(cè)
- 高考物理總復(fù)習(xí)《功和功率、動(dòng)能定理》專項(xiàng)測(cè)試卷含答案
- 中國(guó)民航大學(xué)《中級(jí)財(cái)務(wù)會(huì)計(jì)Ⅱ》2023-2024學(xué)年第一學(xué)期期末試卷
- 鄭州理工職業(yè)學(xué)院《服裝展示設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年湖北武漢工程大學(xué)招聘6人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 【數(shù) 學(xué)】2024-2025學(xué)年北師大版數(shù)學(xué)七年級(jí)上冊(cè)期末能力提升卷
- 山東省建筑工程消防設(shè)計(jì)部分非強(qiáng)制性條文適用指引
- 內(nèi)蒙古自治區(qū)呼和浩特市《綜合能力測(cè)試》事業(yè)單位國(guó)考真題
- 陜西省咸陽(yáng)市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)及行政區(qū)劃代碼
- 綠城物業(yè)室內(nèi)公共區(qū)域清潔作業(yè)規(guī)程
- 封條模板A4直接打印版
- 危險(xiǎn)貨物道路運(yùn)輸企業(yè)安全檢查通用清單
- 用友NC財(cái)務(wù)軟件操作手冊(cè)
- 眼內(nèi)炎患者護(hù)理查房
- 電工維修培訓(xùn)資料 維修電工技術(shù)學(xué)習(xí) 維修電工常識(shí) 電工培訓(xùn)ppt課件
評(píng)論
0/150
提交評(píng)論