C++实现对称矩阵的压缩存储

#include 
using 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;
}

C++实现对称矩阵的压缩存储

创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都做网站、商州网络推广、微信小程序开发、商州网络营销、商州企业策划、商州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供商州建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com


网站名称:C++实现对称矩阵的压缩存储
文章路径:http://ybzwz.com/article/gpipss.html