3.1 部分A+B

在这里插入图片描述

#include<iostream>
#include<cmath>
using namespace std;
int getP(long x,long X)
{
	int p=0,c=0;
	while(x!=0)
	{
		int a=x%10;
		if(a==X)
		{
			p+=a*pow(10,c);
			c++;
		}
		x/=10;
	}
	return p;
}
int main()
{
	long x,X;
	cin>>x>>X;
	int a=getP(x,X);
	cin>>x>>X;
	int b=getP(x,X);
	cout<<a+b;
} ```

稀疏矩阵是指矩阵中大部分元素为0的矩阵。稀疏矩阵加法是指将两个稀疏矩阵相加得到一个新的稀疏矩阵的操作。 十字链表是一种用于表示稀疏矩阵的数据结构。它通过两个链表来表示矩阵中的非零元素。一个链表按行连接,每个节点表示矩阵中的一行;另一个链表按列连接,每个节点表示矩阵中的一列。每个节点除了包含元素的值外,还包含指向同一行和同一列下一个非零元素的指针。 实现稀疏矩阵加法的步骤如下: 1. 初始化一个空稀疏矩阵c。 2. 遍历稀疏矩阵a的所有非零元素: 2.1 创建一个新的节点,将其值设为当前元素的值。 2.2 将新节点添加到稀疏矩阵c的正确位置。 3. 遍历稀疏矩阵b的所有非零元素: 3.1 创建一个新的节点,将其值设为当前元素的值。 3.2 将新节点添加到稀疏矩阵c的正确位置。 4. 返回稀疏矩阵c。 具体地,添加一个非零元素到稀疏矩阵c的正确位置的步骤如下: 1. 遍历稀疏矩阵c的行链表,找到与要添加的元素所在行相同的节点。 2. 遍历该节点的列链表,找到与要添加的元素所在列相同的节点,并将要添加的元素的值与该节点的值相加。 3. 如果没有找到相同列的节点,说明是该行的第一个非零元素,将要添加的元素插入到该行中的正确位置。 通过以上步骤,我们可以实现稀疏矩阵加法,并使用十字链表来表示稀疏矩阵。使用十字链表可以减少存储空间的浪费,提高了对稀疏矩阵的操作效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值