标签: multidimensional-array

使用NSMutableArray的2D数组

我需要在Objective-C中创建一个可变的二维数组.

例如,我有:

NSMutableArray *sections;
NSMutableArray *rows;
Run Code Online (Sandbox Code Playgroud)

每个项目都sections包含一个数组rows.rows是一个包含对象的数组.

我想做这样的事情:

[ sections[i] addObject: objectToAdd]; //I want to add a new row
Run Code Online (Sandbox Code Playgroud)

顺序如下:第0节,行:obj1,obj2,obj3第1节,行:obj4,obj5,obj6,obj 7 ...

有没有办法在Objective-C中做到这一点?

cocoa cocoa-touch objective-c multidimensional-array nsmutablearray

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

Java Array Array of Arrays?

我想创建一个没有固定大小的mutli维数组.

我需要能够添加String[2]它的项目.

我试过看:

private ArrayList<String[]> action = new ArrayList<String[2]>();
Run Code Online (Sandbox Code Playgroud)

但这不起作用.有没有人有任何其他想法?

java arrays arraylist multidimensional-array

44
推荐指数
3
解决办法
12万
查看次数

Bash中的多维数组

我正在计划一个脚本来管理我的Linux系统的某些部分,我正在决定是否要使用.

我更喜欢将此作为Bash脚本,因为命令更容易,但真正的决定因素是配置.我需要能够在配置文件中存储多维数组,以告诉脚本如何处理自身.使用bash在配置文件中存储简单的key = value对很容易,但我能想到做多维数组的唯一方法是使用两层解析引擎,类似于

array=&d1|v1;v2;v3&d2|v1;v2;v3
Run Code Online (Sandbox Code Playgroud)

但是marshall/unmarshall代码可能会成为一只熊,而且对于下一个必须管理这个问题的可怜的人来说,它远非用户友好.如果我不能轻易地在bash中执行此操作,我只需将配置写入xml文件并在python中编写脚本.

在bash中有一个简单的方法吗?

感谢大家.

arrays bash shell multidimensional-array

44
推荐指数
6
解决办法
15万
查看次数

Ruby多维数组

也许这只是我缺乏在这里找到问题的能力,但我找不到任何关于如何在Ruby中创建多维数组的东西.

有人可以给我一个如何做的例子吗?

ruby multidimensional-array

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

如何将多维数组传递给C和C++中的函数

#include<stdio.h>
void print(int *arr[], int s1, int s2) {
    int i, j;
    for(i = 0; i<s1; i++)
        for(j = 0; j<s2; j++)
            printf("%d, ", *((arr+i)+j));
}

int main() {
    int a[4][4] = {{0}};
    print(a,4,4);
}
Run Code Online (Sandbox Code Playgroud)

这适用于C,但不适用于C++.

错误:

cannot convert `int (*)[4]' to `int**' for argument `1' to 
`void print(int**, int, int)'
Run Code Online (Sandbox Code Playgroud)

为什么它在C++中不起作用?需要做出哪些改变?

c c++ arrays multidimensional-array

42
推荐指数
6
解决办法
8万
查看次数

查询MongoDB中的数组数组

说,我有这样的文件..

"ID" : "fruit1",
"Keys" : [["apple", "carrot", "banana"]]
Run Code Online (Sandbox Code Playgroud)

如何查询Keys ="carrot".以下语法均不起作用.

db.myColl.results.find({ "Keys" : "carrot" });
db.myColl.results.find({ "Keys" : [["carrot"]] });
Run Code Online (Sandbox Code Playgroud)

以下工作,但没有帮助.

db.myColl.results.find({ "Keys" : [["apple", "carrot", "banana]]});
Run Code Online (Sandbox Code Playgroud)

任何指向此查询的指针都会有所帮助.谢谢.

multidimensional-array mongodb

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

使用 std::array 声明 2D(甚至更高维度)数组的便捷方法

我即将将大量旧的 C++ 代码转换为更现代的 C++。

该代码中有许多原始的二维数组,例如:

Foo bar[XSIZE][YSIZE];
Run Code Online (Sandbox Code Playgroud)

我即将用以下内容替换这些声明

std::array<std::array<Foo, YSIZE>, XSIZE> bar;
Run Code Online (Sandbox Code Playgroud)

这是一种方便的方法,因为语句保持不变,并且代码的行为应该与原始数组相同,并且具有能够在调试版本中进行越界检查的额外好处。

但在我看来,这std::array<std::array<Foo, YSIZE>>有点麻烦而且不容易阅读,而且如果使用 3D 数组(虽然我没有),情况会更糟。

现在我正在使用这个宏来使声明更具可读性:

#define DECLARE_2D_ARRAY(type, x, y) std::array<std::array<type, y>, x>
...
DECLARE_2D_ARRAY(Foo, XSIZE, YSIZE) bar;
Run Code Online (Sandbox Code Playgroud)

但我觉得这是一个宏黑客,我想知道是否有一种更干净、更 C++ 的方法来做类似的事情。

c++ arrays multidimensional-array stdarray

42
推荐指数
3
解决办法
3115
查看次数

二维数组的x,y和row,col属性是向后的吗?

如果我想到x,y坐标平面x,y是有序对的常用符号,但如果我使用二角形数组,我有myArray [row] [col],行是y,col是x .这是倒退还是我只是想错了?我认为它看起来像myArray [x] [y],但如果我想要真正的行和列(如游戏板中)那就错了.难道不是myArray [y] [x]真正模仿行列板?

multidimensional-array

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

如何定义和使用C中的位数组?

我想创建一个非常大的数组,我在其上写'0'和'1'.我试图模拟一个称为随机顺序吸附的物理过程,其中长度为2的单位二聚体在随机位置沉积在n维晶格上,彼此不重叠.当晶格上没有剩余空间用于沉积更多二聚体(晶格被堵塞)时,该过程停止.

最初我从一个零点开始,二聚体用一对'1'表示.当每个二聚体沉积时,二聚体左侧的位点被阻断,这是因为二聚体不能重叠.因此,我通过在晶格上存储三个'1'来模拟这个过程.我需要重复整个模拟很多次,然后计算出平均覆盖率%.

我已经使用1D和2D格子的字符数组完成了这项工作.目前,我正在尝试使代码尽可能高效,然后再处理3D问题和更复杂的概括.

这基本上是1D中代码的样子,简化:

int main()
{
    /* Define lattice */
    array = (char*)malloc(N * sizeof(char));

    total_c = 0;

    /* Carry out RSA multiple times */
    for (i = 0; i < 1000; i++)
        rand_seq_ads();

    /* Calculate average coverage efficiency at jamming */
    printf("coverage efficiency = %lf", total_c/1000);

    return 0;
}

void rand_seq_ads()
{
    /* Initialise array, initial conditions */
    memset(a, 0, N * sizeof(char));
    available_sites = N;
    count = 0;

    /* While the lattice still has enough room... */ …
Run Code Online (Sandbox Code Playgroud)

c arrays bit-manipulation bitarray multidimensional-array

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

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