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

正文內(nèi)容

課程設(shè)計報告—稀疏矩陣的完全鏈表表示及其運算-wenkub

2022-08-18 11:14:10 本頁面
 

【正文】 入%d個非零元的行 列 元素值:\n,)。k++)//初始化行頭指針 [k]=NULL。 =(OLink*)malloc((n+1)*sizeof(OLink))。 =n。m,amp。 ElemType e。另外,增加一個包含矩陣維數(shù)的結(jié)點。用單獨一個結(jié)點表示一個非零項,并將所有結(jié)點連接在一起,形成兩個循環(huán)鏈表。每一個節(jié)點除了存儲非零元素的三元組以外,還設(shè)置了right和down兩個指針,分別指向同一行的下一個非零元素結(jié)點和同一列的下一個非零元的結(jié)點。//行、列表頭的頭節(jié)點 int mu,nu,tu。//非零元值 OLNode *right,*down。這樣,一個稀疏矩陣就輸入完成。讀取一個稀疏矩陣建立其完全鏈表表示輸出一個稀疏矩陣的內(nèi)容刪除一個稀疏矩陣兩個稀疏矩陣相加兩個稀疏矩陣相減兩個稀疏矩陣相乘稀疏矩陣的轉(zhuǎn)置【實現(xiàn)提示]鏈表上的操作。另外,增加一個包含矩陣維數(shù)的結(jié)點。用單獨一個結(jié)點表示一個非零項,并將所有結(jié)點連接在一起,形成兩個循環(huán)鏈表。使得第一個表即行表,把所有結(jié)點按照行序(同一行內(nèi)按列序)用right域鏈接起來。稀疏矩陣的這種存儲表示稱為完全鏈表表式。 數(shù)據(jù)結(jié)構(gòu)的選擇和概要設(shè)計(一)、問題分析功能要求:根據(jù)用戶輸入的矩陣,實現(xiàn)稀疏矩陣的求和運算,并輸出結(jié)果。用單鏈表存儲非零元素的結(jié)點信息,并且將之用矩陣的形式打印出來(二)、概要設(shè)計結(jié)構(gòu)體的定義typedef int ElemType。}。//矩陣的行、列和非零元個數(shù)}。主函數(shù)主函數(shù)包括相加、相減、相乘的各個子函數(shù)。使得第一個表即行表,把所有結(jié)點按照行序(同一行內(nèi)按列序)用right域鏈接起來。稀疏矩陣的這種存儲表示稱為完全鏈表表式。 OLNode *p,*q。n,amp。 =t。 if(!) exit(OVERFLOW)。 for(k=0。 for(k=0。j,amp。 } else { p=(OLNode*)malloc(sizeof(OLNode))。 pe=e。qrightamp。 pright=qright。 } else//尋找列表插入位置 { for(q=[j]。q=qdown)。}int Print(CrossList M){ int i,j,k。i!=。//初始化數(shù)組所需部分 } } for(k=0。//將非零元存入數(shù)組中 p=pdown。j!=。}int Add(CrossList M,CrossList N,CrossList amp。 =。 if(!) exit(OVERFLOW)。k!=。k++)//初始化列 [k]=NULL。k!=。i++)//按行序相加 { pm=[i]。pn) { if(pmjpnj)//矩陣M當(dāng)情前結(jié)點的列小于矩陣N當(dāng)前結(jié)點的列 { p=(OLink)malloc(sizeof(OLNode))。 //賦值 pj=pmj。 //pm右移 } else if(pmjpnj) { p=(OLink)malloc(sizeof(OLNode))。 pj=pnj。 } else if(pme+pne)//M,N當(dāng)前結(jié)點的列相同并且兩元素之和非零 { p=(OLink)malloc(sizeof(OLNode))。 pj=pnj。//pm右移 pn=pnright。 } if([i]==NULL) [i]=pq=p。 else { col[pj]down=p。 ++。 pright=NULL。 pq=pqright。 } } while(pn)//將矩陣N該行的剩余元素插入矩陣Q { p=(OLink)malloc(sizeof(OLNode))。 pj=pnj。 if([i]==NULL) [i]=pq=p。 else { col[pj]down=p。k++) if(col[k]) col[k]down=NULL。 for(int j=0。//將非零元的值反號 p=pright。 OLink q,p0,q0,q1,q2。 =。 =(OLink*)malloc((+1)*sizeof(OLink))。i++)//初始化行 [i]=NULL。 for(i=0。j++) { p0=[i]。amp。//乘積累加 q0=q0down。 if(!q) exit(OVERFLOW)。 qright=NULL。 if(![j]) [j]=q。 } } } return OK。cin。 其中Select是int型 c語言中變量的定義必須在函數(shù)的首部: 像這種的要把int j。 五、測試結(jié)果及其分析 改進設(shè)想: 對于運算的界面可以更加精美有條理性一些;除此以外,可以給運算設(shè)計一個選擇界面,用戶可以選擇進行計算和退出;由于部分代碼是參考網(wǎng)上案列c++編碼的,我想把它改成C語言代碼,丹改過來后,他總是報錯,調(diào)試也找不來原因,null指沒有聲明,最后自定義個null值得聲明,還是不行,所以導(dǎo)致我的部分代碼有些不理解,這好似一部分遺憾,希望通過以后的學(xué)習(xí)和學(xué)習(xí)中明白這些原因。這個實驗從最初的設(shè)計到完成,出現(xiàn)了很多錯誤,通過最終的修正發(fā)現(xiàn),其實犯的都是小錯誤,都是些指針的問題。 用戶使用說明 按提示進行相關(guān)操作。 //非零元所在行、列 ElemType e。struct CrossList{ OLink *rhead,*chead。M){ int i,j,k,m,n,t。 scanf(%d%d%d,amp。 =m。 if(!) exit(OVERFLOW)。k!=m。k++)//初始化列頭指針 [k]=NULL。k++) { scanf(%d%d%d,amp。 if(im||jn) { printf(你輸入的元素不在矩陣中 請檢查重輸:\n)。 pi=i。 [i]=p。qrightjj。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1