我想在C中构造一个2d数组,其中每行将具有不同数量的元素.具体来说,我想构建一个三角形7x6阵列.为了节省内存,我想避免存储零,如下例所示.
1 0 0 0 0 0 0
1 1 0 0 0 0 0
...
1 1 1 1 1 1 1
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
Tim*_*lds 18
这个索引系统不会起作用吗?
0
1 2
3 4 5
6 7 8 9
...
Run Code Online (Sandbox Code Playgroud)
只需将数据存储在一维数组中,使用此映射到三角矩阵/数组.
一维零基索引k和二维零基行i和列j在k = i(i+1)/2 + j(何处j <= i)相同.
以上是针对下三角形方阵/阵列.你可以做一些非常相似的事情
i和j