稀疏矩陣的壓縮儲存:
實現稀疏矩陣壓縮儲存,並實現矩陣轉置和求和。
輸入矩陣時,首先需要輸入非零元素的個數,然後分別輸入矩陣的 行號,列號和值。
輸完2個矩陣後,自動進行計算第乙個矩陣的轉置以及兩個矩陣的和。
例如:輸入如下:
100 90 5 //矩陣的行數為100,列數為90,共5個非零元素。
1 10 100 //a(1,10)=100
50 60 200//a(50,60)=200
50 80 100//a(50,80)=100
60 60 200//a(60,60)=200
99 89 10//a(99,89)=10
100 90 2 //矩陣b的行數為100,列數為90,共2個非零元素。
1 1 10 //b(1,1)=10
50 60 -200//b(50,60)=-200
#include using namespace std;
struct triple
};class sparsematrix ;
sparsematrix::sparsematrix(int maxsize)
;void sparsematrix::transpose(sparsematrix & b)
} delete rowsize; delete rowstart;
}sparsematrix sparsematrix::add(sparsematrix & b)
else if (index_a > index_b)
else
if (vv == 0)
i++; j++;
} res.terms++;
} for (; i < terms; i++)
for (; j < b.terms; j++)
return res;
}ostream & operator<<(ostream & out, sparsematrix & m)
return out;
// todo: 在此處插入 return 語句
}istream & operator>>(istream & in, sparsematrix & m)
return in;
// todo: 在此處插入 return 語句
}int main()
稀疏矩陣的壓縮儲存
include include using namespace std templateclass sparsematrix sparsematrix 訪問稀疏矩陣中row行col中的元素 t access int row,int col it return invalid for size t i...
對稱矩陣 稀疏矩陣的壓縮儲存
對稱矩陣 稀疏矩陣的壓縮儲存 1 對稱矩陣的壓縮儲存 對稱矩陣顧名思義就是符合行和列的個數相同,並且矩陣中儲存的資料上三角和下三角中對應位置上的元素值是相等的。為了能夠減少儲存的空間,我們可以只儲存上三角矩陣 或者下三角矩陣中的元素,這樣就能夠極大地節省空間的浪費。下面是對稱矩陣的示列 假設對稱矩陣...
陣列的壓縮儲存(特殊矩陣 稀疏矩陣)
其實這裡就不應該說是陣列了,而應該是說行列式,對稱矩陣 a i j a j i 上下三角行列式 對角線以下 以上的元素均為0 帶狀行列式 這個可能不太好理解,舉乙個例子 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 這時看對角線比較舒服,可以看出...