動態稀疏矩陣的兩個三元組進行相加的演算法

2021-08-04 16:25:00 字數 969 閱讀 1101

#include

#include

#include

#include

#define maxsize 100

using namespace std;

typedef int datatype;///資料型別

typedef struct///稀疏矩陣中表示非0元素的三元組

triple;

typedef struct///乙個稀疏矩陣順序儲存型別

sparsematrix;

void create(datatype ***a,int m,int n)///初始化乙個二維陣列(三元組)

void value(sparsematrix &t,datatype e,int i,int j)///三元組的賦值

t.elem[k].row=i;

t.elem[k].col=j;

t.elem[k].val=e;

t.terms++;}}

bool add(sparsematrix a,sparsematrix b,sparsematrix &c,int m,int n)///兩個三元組相加

{datatype xa,xb,sum;

if(a.cols!=b.cols||a.rows!=b.rows)///當列或者行不相等時

用稀疏矩陣的三元組進行加法

演算法思想 在進行三元組的加法時 前提條件 用while迴圈,它的出口條件為 i,j 都小於他們分別所對應的三元組中元素的個數。滿足前提條件的情況下,分 3種情況 1.行列數相等 1 相加等於零,則直接跳過,i j 2 相加不為零,把相加後的數寫下來,i j 2.a的行大於b的行 1 寫下行數小的乙...

稀疏矩陣的三元組順序儲存

該資料結構的操作主要是陣列的相加 和相乘,這兩個演算法全是我個人所寫,絕無參考,經測試應該少有bug a.h include define false 0 define true 1 define ok 1 define error 0 define max size 100 typedef int...

稀疏矩陣的三元組儲存演算法

稀疏矩陣,是零元素較多的矩陣。一般只要滿足 t 1 3 m n,t是非零元素個數,mn是矩陣行列數,就可以用三元組表示稀疏矩陣,可以節省空間。稀疏矩陣的壓縮儲存採用三元組的方法實現。其儲存規則是 每乙個非零元素佔一行,每行中包含非零元素所在的行號 列號 非零元素的數值。為完整描述稀疏矩陣,一般在第一...