?? bo5-3.cpp
字號:
// bo5-3.cpp 三元組稀疏矩陣的基本操作(4個),也可用于行邏輯鏈接結構
void DestroySMatrix(TSMatrix &M)
{ // 銷毀稀疏矩陣M
M.mu=M.nu=M.tu=0;
}
void PrintSMatrix(TSMatrix M)
{ // 按矩陣形式輸出M
int i,j,k=1; // 非零元計數器,初值為1
Triple *p=M.data+1; // p指向M的第1個非零元素
for(i=1;i<=M.mu;i++) // 從第1行到最后一行
{ for(j=1;j<=M.nu;j++) // 從第1列到最后一列
if(k<=M.tu&&p->i==i&&p->j==j) // p指向非零元,且p所指元素為當前循環在處理元素
{ printf("%3d",(p++)->e); // 輸出p所指元素的值,p指向下一個元素
k++; // 計數器+1
}
else // p所指元素不是當前循環在處理元素
printf("%3d",0); // 輸出0
printf("\n");
}
}
void CopySMatrix(TSMatrix M,TSMatrix &T)
{ // 由稀疏矩陣M復制得到T
T=M;
}
Status SubtSMatrix(TSMatrix M,TSMatrix N,TSMatrix &Q)
{ // 求稀疏矩陣的差Q=M-N
int i;
if(M.mu!=N.mu||M.nu!=N.nu) // M、N兩稀疏矩陣行或列數不同
return ERROR;
for(i=1;i<=N.tu;++i) // 對于N的每一元素,其值乘以-1
N.data[i].e*=-1;
AddSMatrix(M,N,Q); // Q=M+(-N)
return OK;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -