2023年數(shù)據(jù)結(jié)構(gòu)實驗報告數(shù)組和廣義表_第1頁
2023年數(shù)據(jù)結(jié)構(gòu)實驗報告數(shù)組和廣義表_第2頁
2023年數(shù)據(jù)結(jié)構(gòu)實驗報告數(shù)組和廣義表_第3頁
2023年數(shù)據(jù)結(jié)構(gòu)實驗報告數(shù)組和廣義表_第4頁
2023年數(shù)據(jù)結(jié)構(gòu)實驗報告數(shù)組和廣義表_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

《數(shù)據(jù)結(jié)構(gòu)》實驗報告學(xué)號姓名專業(yè)班級實驗地點指導(dǎo)教師實驗時間實驗序號:7實驗項目名稱:數(shù)組和廣義表一、實驗?zāi)康募耙?guī)定本次實驗?zāi)康氖峭ㄟ^上機練習(xí),熟悉和掌握課堂所講授的基本知識點。規(guī)定上機以前要認(rèn)真復(fù)習(xí)課堂教學(xué)內(nèi)容。完畢稀疏矩陣的三元組順序存儲。二、實驗設(shè)備(環(huán)境)及規(guī)定計算機;學(xué)生不許把食物帶到機房吃;不許上網(wǎng)做與實驗無關(guān)的內(nèi)容;不許同學(xué)之間聊天;保持實驗室安靜衛(wèi)生。下課把鍵盤,座椅放回原處。三、實驗內(nèi)容與環(huán)節(jié)稀疏矩陣壓縮存儲,三元組順序表的實現(xiàn)。然后完畢操作CreateSMatrix(&M)創(chuàng)建稀疏矩陣,和求稀疏矩陣的轉(zhuǎn)置TransposeSMalrix(TSMatrix&M,TSMairix&T)。編寫一個函數(shù),按照矩陣的形式打印出稀疏矩陣。Header.hSinc1udc<stdio.h>ftinclude<stdlib.h>〃稀疏矩陣的三元組順序表存儲#defineMAXSIZE125//非零元個數(shù)的最大值typedefintElemType;typedefstruct//三元組節(jié)點(inti,j;〃非零元的行下標(biāo)、列下標(biāo)E1emTypee;//矩陣的元素值。}Trip1e;typedefstruct(Tripledata[MAXSIZE+1];〃非零元數(shù)組,data[O]不用。intmu,nu,tu;//矩陣的行數(shù)、列數(shù)、非零元個數(shù)。}TSMatrix;//稀疏矩陣的操作函數(shù)//voidCreateSMatrix(TSMatrix*M)〃以行為主序,創(chuàng)建稀疏矩陣(charsign=,y';inttu;(*M).tu=0;(*M).mu=0;(*M).nu=0;printf("請輸入矩陣的行數(shù):\n");seanf("%d〃,&(*M).mu);printf("請輸入矩陣的列數(shù):\n〃);scanf(^%d”,&(*M).nu);whi1e(sign==,y,)(++(*M).tu;tu二(*M).tu;eprintf("請輸入第%(1個非零元、n”,tu);sprintf("\n請輸入行號;?scanf('*%d",&(*M).data[tu].i);printf(〃\n請輸入列號:〃);scanf("%d〃,&(*M).data[tu].j);叩rintf("\n請輸入元素值:〃);scanf("%d",&(*M).data[tu].e);叩rintf(〃\n\n假如繼續(xù)輸入其他非零元素,請輸入字母'y\否則請輸入'n,:'1);oscanf(〃%c%c〃,&sign,&sign);})voidPrintSMatrix(TSMatrix*M)(int*p,k,i,j;intmu,nu,tu;mu=(*M).mu;nu=(*M).nu;tu=(*M).tu;p=(int*)malloc((nu+l)*sizeof(ElemType));//用來保存每行元素。for(i=l;i<=mu;i++)for(k=0;k<=nu;k++)p[k]=0;efor(k=1;k<=tu;k++)(。if((*M).data[k].i==i)p[(*M).data[k].j]=(*M).data[k].e;)for(j=1;j<=nu;j++)printf(〃%-5d〃,p[j]);oprintf(n\nn);)}voidTransposeSMatrix(TSMatrix*M,TSMatrix*T)〃采用三元組表存儲,實現(xiàn)稀疏矩陣的轉(zhuǎn)置(intq=1,co1=1;(*T).mu=(*M).nu;(*T).nu=(*M).inu;(*T).tu=(*M).tu;for(co1=1;co1<=(*M).nu;col++)for(q=l;q<=(*M).tu;q++)if((*M).data[q].j==co1)((*T).data[q].i=(*M).data[q].j;g(*T).data[q].j=(*M).data[q].i;.(*T).data[q].e=(*M).data[q].e;)})Source.hSinclude"header.h〃voidmain()(TSMatrixM,T;CreateSMatrix(&M);PrintSMatrix(&M);TransposeSMatrix(&M,&T);printf("\n\n");PrintSMatrix(&T);

四、實驗結(jié)果與數(shù)據(jù)解決y:\Pr09QmFiles\Mkro$oftVisualStudio\MyProject$\abcd\Debug\abcd.exee請輸入矩陣的列數(shù)I:青輸入第1個非零元請輸入行號,1請輸入列號:3請輸入元素值:1如果繼續(xù)以縣出非零元素,請輸入字母'y',否則請輸入'2:y謂輸入第2不菲尊元請輸人行號,1請輸入列號:6清福入兀素值:2熱是繼續(xù)快基世非零元素?清輸入字母W,否則請輸入F':y請輸入第3個非零兀請輸入行號:2請輸入列號?5請輸入元素值:3請輸入字母73否則請輸入:y請輸入行號:4請輸入列號?2請輸入元素值,4清輸入字母否則請輸入,n,清輸入字母否則請輸入,n,:y行號?5列號,4元素值,5行號?行號?5列號,4元素值,5如果繼續(xù)輸入其他非零元素,如果繼續(xù)輸入其他非零元素,請輸入字母F,,否則請輸入00如果繼續(xù)輸入其他非零元素,請輸入字母F,,否則請輸入00000004010000000050

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論