使用兩種方法將稀疏矩陣快速轉置
#include#includeusing namespace std;
templatestruct triple //三元組
;templateclass sparsematrix
}} }
sparsematrix(size_t rowsize, size_t colsize, t invaild)
:_rowsize(rowsize),
_colsize(colsize),
_invaild(invaild)
{} sparsematrix()
{} sparsematrixtransposematrix() //務必保持行優先
++index;
}} return sm;
} sparsematrixfastsposematrix(t *array) //快速定位轉置,行優先
for (size_t i = 1; i < _colsize; i++)
for (size_t i = 0; i < _array.size(); i++)
return sm;
} void display()
else
}cout << "\n" << endl;
} }protected:
size_t _rowsize;
size_t _colsize;
t _invaild;
vector> _array;
};void test1()
, ,
, ,
, };
sparsematrixs((int *)arr, 5, 7, 0);
sparsematrixsm1;
sparsematrixsm2;
sm1=s.transposematrix();
sm2 = s.fastsposematrix((int*)arr);
s.display();
sm1.display();
sm2.display();
}int main()
本文出自 「痕跡」 部落格,請務必保留此出處
稀疏矩陣轉置 資料結構
description 輸出稀疏矩陣的轉置矩陣。行列均不大於20 input 第一行輸入兩個正整數n和m,分別表示矩陣的行數和列數,然後輸入矩陣三元組,最後輸入 0 0 0 表示結束輸入。output 轉置後的矩陣。sample input 4 41 1 1 2 1 2 3 2 3 0 0 0 sa...
資料結構 稀疏矩陣轉置
我們來看看這個矩陣,五行五列,可以包含二十五個元素,但是此矩陣只有七個元素。但是我們在存放資料的時候分配了二十五塊int單元。這樣是不是有點太 浪費了。如果我們只儲存這七個元素我想會節省一部分記憶體空間。但是如果我們只儲存矩陣中的元素還是不行的,因為只有元素我們就無法還原矩陣,我們還需要此 元素的行...
資料結構 稀疏矩陣的轉置
熟悉稀疏矩陣的三元組順序儲存方式。稀疏矩陣如圖所示,輸出矩陣和三元組錶用轉置演算法 求轉置矩陣並輸出轉置後的矩陣和三元組表 初始矩陣為 n dispmatrix mm printf 矩陣的三元組順序表為 n dispmat mm printf n n tsmatrix t trantat mm,t ...