C++实现对称矩阵的压缩存储
#includeusing namespace std; /*对称矩阵及对称矩阵的压缩存储*/ template class SymmetricMatrix { public: SymmetricMatrix(T* a, size_t N) :_a(new T[N*(N+1)/2]) ,_n(N) { size_t index = 0; for (size_t i = 0; i < N; ++i) { for (size_t j = 0; j < N; ++j) { if (i >= j) { _a[index++] = a[i*N+j]; } else { break; } } } } ~SymmetricMatrix() { if (_a) { delete[] _a; } } T& Access(size_t i, size_t j) { if (i < j) { swap(i, j); } return _a[i*(i+1)/2+j]; } void Display() { for (size_t i = 0; i < _n; ++i) { for (size_t j = 0; j < _n; ++j) { if (i >= j) { cout<<_a[i*(i+1)/2+j]<<" "; } else { cout<<_a[j*(j+1)/2+i]<<" "; } } cout< sm((int*)array, 5); sm.Display(); } int main() { Test(); return 0; }
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都做网站、商州网络推广、微信小程序开发、商州网络营销、商州企业策划、商州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供商州建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
文章题目:C++实现对称矩阵的压缩存储
本文网址:http://pwwzsj.com/article/gpipss.html