【数据结构】(七)矩阵的压缩存储,C++类的友元

矩阵的压缩存储

所有的矩阵你都可以通过推导得出其在一位数组或者链表中的关系。

(一).对称矩阵压缩:
在这里插入图片描述
在这里插入图片描述
(二)下三角和上三角矩阵:
解释下三角矩阵在后面加一个C表示为0即可,
只要算到上三角空白区域就去C中的值。

在这里插入图片描述
在这里插入图片描述
(三)对角矩阵:
在这里插入图片描述
(四)稀疏矩阵的压缩存储:
引入三元组:行号, 列号, 非零元素值:
在这里插入图片描述
利用顺序存储方式:
在这里插入图片描述
可以用结构体也可用类封装:
在这里插入图片描述
(五)十字链表:
适用于十字链表需要频繁修改的时候
含义:
在这里插入图片描述
图解:
在这里插入图片描述
C++类定义:
在这里插入图片描述
.h文件:

#pragma once
#include<iostream>
using namespace std;
#include <string>
#define Max 100
#define ERROR 0
#define OK 1

typedef struct  //三元组
{
   
	int line;   //行
	int row;    //列
	int item;   //值
}Trip;


class TripMN
{
   
private:
	Trip  dat[Max];
	int L, R, num;   //行 ,列, 非零元个数
public:
	TripMN()       //自我构造
	{
   
		L = 0;
		R = 0;
		num = 0;
	}

	TripMN(int m, int n)   //创建对象时完成对属性的初始化
	{
   
		L = m;
		R = n;
		num = 0;
	}

	~TripMN()
	{
   
		
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值