freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計算機(jī)軟件及應(yīng)用]數(shù)據(jù)結(jié)構(gòu)實驗報告(編輯修改稿)

2025-05-08 22:27 本頁面
 

【文章內(nèi)容簡介】 irst(amp。P,q,s)。 //生成結(jié)點(diǎn)并插入鏈表 }//if }//for}// CreatPolynvoid AddPolyn(polynomial *Pa,polynomial *Pb){//多項式加法:Pa=Pa+Pb,并銷毀一元多項式Pb ha = GetHead(*Pa)。 hb = GetHead(*Pb)。 //ha和hb分別指向Pa和Pb地頭結(jié)點(diǎn) qa = NextPos(ha)。 qb = NextPos(hb)。 //qa和qb分別指向Pa和Pb中當(dāng)前結(jié)點(diǎn)(現(xiàn)為第一個結(jié)點(diǎn)) while(!ListEmpty(*Pa)amp。amp。!ListEmpty(*Pb)amp。amp。qa){ //Pa和Pb均非空且ha沒指向尾結(jié)點(diǎn)(qa!=0) a = GetCurElem(qa)。 b = GetCurElem(qb)。 //a和b為兩表中當(dāng)前比較元素 switch(cmp(a,b)){ case 1: //多項式Pa中當(dāng)前結(jié)點(diǎn)地指數(shù)值小 ha = qa。 qa = NextPos(ha)。 //ha和qa均向后移一個結(jié)點(diǎn) break。 case 0: //兩者地指數(shù)值相等 sum = + 。 //修改Pa當(dāng)前結(jié)點(diǎn)地系數(shù)值 if(sum != ){ SetCurElem(qa,sum)。 ha = qa。 }else { //刪除多項式Pa中當(dāng)前結(jié)點(diǎn) DelFirst(Pa,ha,amp。qa)。 FreeNode(amp。qa)。 } DelFirst(Pb,hb,amp。qb)。 FreeNode(amp。qb)。 qb = NextPos(hb)。 qa = NextPos(ha)。 break。 case 1: //多項式Pb中當(dāng)前結(jié)點(diǎn)地指數(shù)值小 DelFirst(Pb,hb,amp。qb)。 InsFirst(Pa,ha,qb)。 qb = NextPos(hb)。 ha = NextPos(ha)。 break。 }//switch }//while if(!ListEmpty(*Pb)){ Append(Pa,qb)。 //鏈接Pb中剩余結(jié)點(diǎn) FreeNode(amp。hb)。 //釋放Pb頭結(jié)點(diǎn) }//if DestroyPolyn(Pb)。 //銷毀Pb }//AddPolynvoid Opposite(polynomial Pa){ //一元多項式系數(shù)取反 p = 。 while(pnext) { //為一元多項式減法做準(zhǔn)備,將系數(shù)全部取反,然后執(zhí)行一元多項式的加法。 p = pnext。 p *= 1。 }//while}// Oppositevoid SubtractPolyn(polynomial *Pa,polynomial *Pb){ //多項式減法:Pa=PaPb,并銷毀一元多項式Pb Opposite(*Pb)。 //先為一元多項式Pb系數(shù)全部取反 AddPolyn(Pa,Pb)。 //執(zhí)行一元多項式的加法,取反后相當(dāng)于減法。}// SubtractPolynvoid Sort(polynomial P) { //將鏈表升序排序轉(zhuǎn)換成降序排序 tailNode = 。 //tailNode標(biāo)記P鏈表的尾結(jié)點(diǎn) while(next != tailNode){ //當(dāng)P的頭結(jié)點(diǎn)下一個結(jié)點(diǎn)(第一個元素從是頭結(jié)點(diǎn)的下一個元素)不等//于尾結(jié)點(diǎn)時執(zhí)行 curNode = next。 while(curNode != tailNode){ // if(curNode curNodenext){ //當(dāng)當(dāng)前元素的指數(shù)小于下一個元素的指數(shù)時執(zhí)行交換 e = curNodedata。 curNodedata = curNodenextdata。 curNodenextdata = e。 }//if newNode = curNode。 //while循環(huán)到最后時newNode指向tailNode的前一個結(jié)點(diǎn) curNode = curNodenext。 //將eNode結(jié)點(diǎn)下移 }//while tailNode = newNode。 //將tailNode結(jié)點(diǎn)前移(此時最大的指數(shù)已經(jīng)移到尾結(jié)點(diǎn)) }//while}// Sort開始流程圖打印標(biāo)題f==’y’ || f==’Y’打印菜單 YNchoose輸入f 0 2InitList(P)輸入mSetCurElem(h,e)(輸入第二個一元多項式) 2將一元多項式Pb的全部系數(shù)取反i = 1。i = m。++i N 1 (第1次N執(zhí)行輸入m)!Paamp。amp。! Pbamp。amp。qa Y Y打印輸出Pacmp(a,b)!LocateElemP(P,e,amp。q,cmp) N 1 2Sort()將Pa的升序轉(zhuǎn)換成降序 0刪除Pa和Pb系數(shù)和指數(shù)將Pb的系數(shù)加到Pa的系數(shù) YMakeNode(amp。s,e)Append(Pa,qb)FreeNode(amp。hb) N! Pb銷毀鏈表PbInsFirst(amp。P,q,s)結(jié)束 Y Y 調(diào)試分析(1)調(diào)試過程中遇到的問題和解決方法在調(diào)試過程中主要遇到一些符號打錯或輸出、輸出和函數(shù)之類的名稱打錯或漏打,根據(jù)第一行提示的錯誤然后進(jìn)行修改,修改之后再運(yùn)行調(diào)試,如此循環(huán),直到徹底正常運(yùn)行,后面就是優(yōu)化見面的問題了。(2)改進(jìn)設(shè)想增加兩個一元多項式的乘法和除法操作,簡化代碼,減少時間和空間復(fù)雜度。(3)經(jīng)驗和體會等從這是實驗當(dāng)中,我體會最深的是編程要特別仔細(xì),因為稍不注意就可能打錯字母,這些錯誤有時在調(diào)試當(dāng)中特別難找,就是一個小小的字母可能也要讓你花上好長時間來修改,還有就是要形成自己的編程風(fēng)格,這樣的代碼看起來不至于那么亂,給有人條理的感覺,也便于代碼的維護(hù),還有就是函數(shù)調(diào)用的問題,函數(shù)調(diào)用多了容易出現(xiàn)錯誤,函數(shù)寫多了也容易忘記,這就要求程序員有良好的注釋習(xí)慣。用戶使用說明運(yùn)行 選擇操作(1,2,0) 輸入第一個一元多項式非零項的個數(shù)m 輸入第一個一元多項式的系數(shù)和項數(shù)(系數(shù) 項數(shù)) 輸入第一個二元多項式非零項的個數(shù)m 輸入第二個一元多項式的系數(shù)和項數(shù)(系數(shù) 項數(shù)) 打印輸出運(yùn)算后的一元多項式 輸入f 若f==’y’||f==’Y’ 則繼續(xù)選擇操作 否則結(jié)束程序。 測試結(jié)果附錄(1)帶注釋的源程序include include define DestroyPolyn DestroyListdefine PolynLength ListLengthtypedef struct { //項的表示,多項式的項作為LinkList的數(shù)據(jù)元素 float coef。 //系數(shù) int expn。 //指數(shù) }term,ElemType。 //term用于本ADT,ElemType用于LinkList的數(shù)據(jù)對象名typedef struct LNode { //結(jié)點(diǎn)類型 ElemType data。 struct
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1