标签: multidimensional-array

在javascript中使用矩阵的列(换位)交换行

例如,我有一个像这样的矩阵:

|1 2 3|    
|4 5 6|
|7 8 9|
Run Code Online (Sandbox Code Playgroud)

我需要它转换成这样的矩阵:

|1 4 7|    
|2 5 8|
|3 6 9|
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳和最佳方式是什么?

javascript swap matrix multidimensional-array

25
推荐指数
4
解决办法
4万
查看次数

堆分配一个2D数组(不是指针数组)

我正在编写C代码,我想堆分配512*256字节.为了方便起见,我希望能够使用语法数组[a] [b]访问元素; 没有算术来找到正确的索引.

我在网上看到的每个教程都告诉我要创建一个指针数组,指向我在数组中想要的行数组.这意味着每个子数组都需要单独进行malloc和free.我感兴趣的,只需要调用一次malloc和一个呼叫免费的解决方案.(因此,所有的元素是连续的),我认为这是可能的,因为我不会构建一个交错的数组.

如果有人可以分享声明这样一个数组的语法,我将不胜感激.

c malloc multidimensional-array

25
推荐指数
4
解决办法
1万
查看次数

将数组拆分为N个数组 - PHP

我有一个18个值的数组:

$array = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r');
Run Code Online (Sandbox Code Playgroud)

我想将这个数组拆分成12个不同的数组,所以它应该是这样的:

array(
    0 => array('a', 'b'),
    1 => array('c', 'd'),
    2 => array('e', 'f'),
    3 => array('g', 'h'),
    4 => array('i', 'j'),
    5 => array('k', 'l'),
    6 => array('m'),
    7 => array('n'),
    8 => array('o'),
    9 => array('p'),
   10 => array('q'),
   11 => array('r')
)
Run Code Online (Sandbox Code Playgroud)

我的功能似乎不起作用

function array_split($array, $parts){
    return array_chunk($array, ceil(count($array) / $parts));
}

$result = array_split($array, 12); …
Run Code Online (Sandbox Code Playgroud)

php arrays split multidimensional-array

25
推荐指数
3
解决办法
2万
查看次数

Java 2D阵列填充 - 无辜的优化导致可怕的减速

我试图通过计算两个元素的每个和,相对于主对角线相反,优化每个元素的索引和的方形二维Java数组的填充.但是,代替加速或至少相当的性能,我的代码速度慢23(!)倍.

我的代码:

@State(Scope.Benchmark)
@BenchmarkMode(Mode.AverageTime)
@OperationsPerInvocation(ArrayFill.N * ArrayFill.N)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
public class ArrayFill {
    public static final int N = 8189;
    public int[][] g;

    @Setup
    public void setup() { g = new int[N][N]; }

    @GenerateMicroBenchmark
    public int simple(ArrayFill state) {
        int[][] g = state.g;
        for(int i = 0; i < g.length; i++) {
            for(int j = 0; j < g[i].length; j++) {
                g[i][j] = i + j;
            }
        }
        return g[g.length - 1][g[g.length - 1].length - 1];
    } …
Run Code Online (Sandbox Code Playgroud)

java arrays performance benchmarking multidimensional-array

25
推荐指数
1
解决办法
3180
查看次数

在二维数组中查找邻居

有没有一种简单的方法可以找到二维数组中元素的邻居(即元素周围的八个元素)?只需在不同的组合中减去和添加索引,如下所示:

array[i-1][i]
array[i-1][i-1]
array[i][i-1]
array[i+1][i]
Run Code Online (Sandbox Code Playgroud)

... 等等.

language-agnostic arrays multidimensional-array

24
推荐指数
5
解决办法
6万
查看次数

Python中的2D数组

在Python中创建2D数组的最佳方法是什么?

我想要的是存储这样的值:

X , Y , Z
Run Code Online (Sandbox Code Playgroud)

这样我就可以访问数据,X[2],Y[2],Z[2]或者X[n],Y[n],Z[n]在哪里n可变.我不知道一开始n会有多大,所以我想在最后添加值.

python arrays tuples list multidimensional-array

24
推荐指数
5
解决办法
15万
查看次数

是否可以在Java中动态构建多维数组?

假设我们有Java代码:

Object arr = Array.newInstance(Array.class, 5);
Run Code Online (Sandbox Code Playgroud)

那会跑吗?作为进一步的说明,如果我们尝试这样的事情怎么办:

Object arr1 = Array.newInstance(Array.class, 2);
Object arr2 = Array.newInstance(String.class, 4);
Object arr3 = Array.newInstance(String.class, 4);
Array.set(arr1, 0, arr2);
Array.set(arr1, 1, arr3);
Run Code Online (Sandbox Code Playgroud)

那么arr1会是一个2D数组,相当于:

String[2][4] arr1;
Run Code Online (Sandbox Code Playgroud)

怎么样:如果我们在运行时之前不知道这个数组的尺寸怎么办?

编辑:如果这有帮助(我相信它会...)我们试图从表单的字符串解析未知维度的数组

[value1, value2, ...]
Run Code Online (Sandbox Code Playgroud)

要么

[ [value11, value12, ...] [value21, value22, ...] ...]
Run Code Online (Sandbox Code Playgroud)

等等

编辑2:如果有人像我一样愚蠢尝试这个垃圾,这里是一个至少编译和运行的版本.逻辑是否合理完全是另一个问题......

Object arr1 = Array.newInstance(Object.class, x);
Object arr11 = Array.newInstance(Object.class, y);
Object arr12 = Array.newInstance(Object.class, y);
...
Object arr1x = Array.newInstance(Object.class, y);
Array.set(arr1, 0, arr11);
Array.set(arr1, 1, arr12);
...
Array.set(arr1, x-1, arr1x);
Run Code Online (Sandbox Code Playgroud)

等等.它只需要是一个巨大的嵌套对象数组

java arrays dynamic multidimensional-array

24
推荐指数
1
解决办法
2万
查看次数

如何比较C#中的多维数组?

如何比较多维数组?只是真/假.

double[,] data1 = new double[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };    
double[,] data2 = new double[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };

//bool compare = data1.SequenceEqual(data2);
Run Code Online (Sandbox Code Playgroud)

有没有办法比较2d数组像1d数组?

data1.SequenceEqual(data2);     
Run Code Online (Sandbox Code Playgroud)

我必须比较每一秒,所以最简单的方法将是伟大的.非常感谢.

c# arrays compare multidimensional-array

24
推荐指数
1
解决办法
1万
查看次数

在Rust中创建二维数组

如何在Rust中创建一个空的可变二维数组?

这是我到目前为止所尝试的:

let mut state[[u8 * 4] * 4];
Run Code Online (Sandbox Code Playgroud)

这会产生错误

error: expected one of `:`, `;`, `=`, or `@`, found `[`
 --> src/main.rs:2:18
  |
2 |     let mut state[[u8 * 4] * 4];
  |                  ^ expected one of `:`, `;`, `=`, or `@` here
Run Code Online (Sandbox Code Playgroud)

arrays vector multidimensional-array rust

24
推荐指数
9
解决办法
3万
查看次数

统一排列/分配数组项

我有一个带有type属性的多维关联数组.它看起来像这样:

$data = array(
  array( "name" => "SomeName", "type" => "A"),
  array( "name" => "SomeName", "type" => "A"),
  array( "name" => "SomeName", "type" => "A"),
  array( "name" => "SomeName", "type" => "A"),
  array( "name" => "SomeName", "type" => "A"),
  array( "name" => "SomeName", "type" => "B"),
  array( "name" => "SomeName", "type" => "B"),
  array( "name" => "SomeName", "type" => "B"),
  array( "name" => "SomeName", "type" => "C"),
  array( "name" => "SomeName", "type" => "C")
);
Run Code Online (Sandbox Code Playgroud)

我想重新排列它以使项目更均匀地分布(如果可能的话,重复类型的数量最少).它应该如下所示:

array(
  array( …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting math multidimensional-array

24
推荐指数
3
解决办法
1346
查看次数