資源描述:
《一次定位快速轉(zhuǎn)置法實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、云南師范大學(xué)信息學(xué)院實驗報告學(xué)號:124100449姓名:張立雄班級:13F課程名稱:數(shù)據(jù)結(jié)構(gòu)實驗名稱:一次定位快速轉(zhuǎn)置法實驗性質(zhì):①綜合性實驗②設(shè)計性實驗③驗證性實驗試驗時間:2014.11.07試驗地點:睿智樓212本試驗所用的設(shè)備:計算機實驗?zāi)康模簩W(xué)會一次定位快速轉(zhuǎn)置法練習(xí)矩陣的轉(zhuǎn)置輸出了解三元組和矩陣形式的輸出實驗內(nèi)容及過程:#include#include#defineMAXSIZE1000typedefintElementType;typedefstruct{introw,col
2、;ElementTypee;}Triple;typedefstruct{Tripledata[MAXSIZE+1];intm,n,len;}TSMatrix;voidCreateTmatrix(TSMatrix*A)//創(chuàng)建三元組{inti,j;ElementTypex;intp;printf("請輸入矩陣總的行數(shù),列數(shù)及非零元的個數(shù)(逗號相隔):");scanf("%d,%d,%d",&A->m,&A->n,&A->len);printf("請輸入矩陣的三元組以(行列值)形式,每行一個三元組");for(p=1;p<=
3、A->len;p++){scanf("%d%d%d",&i,&j,&x);A->data[p].row=i;A->data[p].col=j;A->data[p].e=x;}}//CreateTmatrixvoidFastTransposeTSMatrix(TSMatrixA,TSMatrix*B){intcol,t,p,q;intnum[MAXSIZE],position[MAXSIZE];B->len=A.len;B->n=A.m;B->m=A.n;if(B->len){for(col=1;col<=A.n;col++)nu
4、m[col]=0;for(t=1;t<=A.len;t++)num[A.data[t].col]++;position[1]=1;for(col=2;col<=A.n;col++)position[col]=position[col-1]+num[col-1];for(p=1;p<=A.len;p++){col=A.data[p].col;q=position[col];B->data[q].row=A.data[p].col;B->data[q].col=A.data[p].row;B->data[q].e=A.data[p]
5、.e;position[col]++;}}}voidoutput1(TSMatrixA){//以矩陣形式輸出ElementTypeM[50][50];inti,j,rmax,cmax;rmax=A.m;//得到最大的行數(shù)cmax=A.n;for(i=0;i6、max;j++)printf("%5d",M[i][j]);printf("");}}voidoutput3(TSMatrixA)//以三元組形式輸出{inti;printf("");for(i=1;i<=A.len;i++){printf("%3d%3d%3d",A.data[i].row,A.data[i].col,A.data[i].e);printf("");}}//output3voidmain(){TSMatrixA,B;CreateTmatrix(&A);printf("原矩陣:");output1
7、(A);FastTransposeTSMatrix(A,&B);printf("轉(zhuǎn)置矩陣:");output1(B);printf("轉(zhuǎn)置矩陣的三元組形式:");output3(B);}任課教師評語:注:每學(xué)期至少一次設(shè)計性實驗。每學(xué)期結(jié)束請任課教師按時按量統(tǒng)一交到教學(xué)秘書處