資料結構 稀疏矩陣的快速轉置

2021-07-12 04:27:31 字數 1123 閱讀 7877

使用兩種方法將稀疏矩陣快速轉置

#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 ...