C#实现上三角矩阵的压缩存储和指定位置元素获取 第一步,与3.1类似,基于书本公式5.9实现上三角矩阵转化为一维数组方法,输入参数为矩阵A和矩阵阶数n,返回类型为转化后一维数组B
时间: 2024-02-27 13:51:49 浏览: 32
好的,以下是C#的实现代码:
```csharp
public static int[] CompressedUpperTriangularMatrix(int[,] A, int n)
{
List<int> B = new List<int>();
for (int i = 0; i < n; i++)
{
for (int j = i; j < n; j++)
{
B.Add(A[i, j]);
}
}
return B.ToArray();
}
```
这个函数输入一个二维数组A和一个整数n,表示矩阵A的阶数。函数会把上三角矩阵A压缩为一维数组B,并返回B。
这个函数的实现方法很简单,就是把上三角矩阵的每个元素按照顺序放入List中,最后再转换为数组返回。因为上三角矩阵的下三角部分都是0,所以我们只需要遍历上三角部分的元素即可。
接下来,您可以通过以下代码来测试上面的函数:
```csharp
int[,] A = new int[,] { { 1, 2, 3 }, { 0, 4, 5 }, { 0, 0, 6 } };
int n = 3;
int[] B = CompressedUpperTriangularMatrix(A, n);
Console.WriteLine(string.Join(", ", B)); // 输出 "1, 2, 3, 4, 5, 6"
```
这个测试案例中,我们首先定义了一个上三角矩阵A和它的阶数n。然后我们调用上面的函数,把A转化为了一维数组B,并将B输出到控制台。
相关推荐
![cs](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)