参考数据结构严蔚敏稀疏矩阵乘法
1 #include<iostream> 2 #include<vector> 3 #include<unistd.h> 4 #include<fstream> 5 6 using namespace std; 7 class Tuple{ 8 public: 9 int row,col,val; 10 Tuple():row(0),col(0),val(0){} 11 Tuple(int ar,int ac,int av):row(ar),col(ac),val(av){} 12 }; 13 class Spamat{ 14 public: 15 //in order to eliminate syntax ambiguity, cannot use parentheses for in-class initialze, only brackets 16 //vector<Tuple> tup{100}; ok 17 //vector<Tuple> tup(100); error 18 vector<Tuple> tup; 19 int rownum,colnum,cnt; 20 Spamat():rownum(0),colnum(0),cnt(0){} 21 Spamat(int rn,int cn,int ct):rownum(rn),colnum(cn),cnt(ct){} 22 }; 23 class Solution{ 24 public: 25 Spamat mat1,mat2,mat3; 26 fstream datasrc{ "data.txt",ios::in}; 27 void input(){ 28 int row,col,val; 29 // cout << "input the information of the first matrix with format:\n"; 30 // cout << "rownum\tcolnum\tcount\n...\n"; 31 datasrc >> mat1.rownum >> mat1.colnum >> mat1.cnt; 32 for(int i=0;i<mat1.cnt;++i){ 33 datasrc >> row >> col >> val; 34