題目要求:
假設n n的稀疏矩陣a採用三元組表示,設計乙個程式exp6-4.cpp實現如下功能:
(1)生成如下兩個稀疏矩陣的三元組a和b;
(2)輸出a轉置矩陣的三元組;
(3)輸出a+b的三元組;
(4)輸出a b的三元組。
輸入**:
#include#include#includeusing namespace std;
#define m 4//稀疏矩陣行數
#define n 4//稀疏矩陣列數
#define maxsize 100//稀疏矩陣中非零元素最多的個數
int z[m][n];
typedef int elemtype;
typedef struct
tupnode;
typedef struct
tsmatrix; //三元組順序表定義
/*對乙個二維稀疏矩陣建立其三元組表示
*/void creatmat(tsmatrix &t,elemtype a[m][n])
t.data[k].r=i;
t.data[k].c=j;
t.data[k].d=x;
t.nums++;
}return true;}/*
矩陣轉置
*/void trantat(tsmatrix t,tsmatrix &tb)
else//a元素的列號等於b元素的列號
i++;
j++;}}
else if(a.data[i].r
執行截圖:
陣列與廣義表 稀疏矩陣的壓縮儲存 三元組做儲存結構
head.h includeusing namespace std define max matrixsize 20 define elemtype int class triple 三元組類 class tsmatrix 矩陣類 class matrix 矩陣類封裝了有關矩陣的操作 void ma...
稀疏矩陣的壓縮矩陣
如果乙個矩陣中的大部分元素為零,稱為稀疏矩陣。對於稀疏矩陣而言,時間儲存的資料項很少,如果在程式中使用傳統的二維陣列方式來儲存,則十分浪費儲存空間,且矩陣越大,資源浪費越嚴重。為提記憶體空間利用率,可利用三項式 3 tuple 的資料結構,即把乙個非零項用 i,j,item value 來表示。其中...
稀疏矩陣的壓縮
稀疏矩陣的特點 m n矩陣,矩陣中有效值的個數遠遠小於無效值的個數,並且這些資料的分布沒有規律。例如下面的矩陣 稀疏矩陣的壓縮儲存 壓縮矩陣值儲存極少數的有效資料。使用三元組來儲存每乙個資料,三元組資料按照矩陣中的位置,以行優先順序依次存放。則上述矩陣的儲存結構為 三元組結構 三元組的定義 temp...