Tag: 数组

有没有什么办法来以编程方式确定一个C ++数组的大小? 如果没有,为什么?

这个问题受到类似问题的启发: 如何删除[]“知道”操作数数组的大小? 我的问题是有点不同: 有没有什么办法来以编程方式确定一个C ++数组的大小? 如果没有,为什么? 我见过的每个函数都需要一个整数参数来给它一个数组。 但是正如链接问题所指出的那样, delete[]必须知道要释放的内存的大小。 考虑一下这个C ++代码: int* arr = new int[256]; printf("Size of arr: %d\n", sizeof(arr)); 这将打印“ Size of arr: 4 ”,这只是指针的大小。 有一些打印256的函数会很好,但是我不认为它存在于C ++中。 (同样,问题的一部分是为什么它不存在。) 澄清 :我知道,如果我在栈上而不是堆声明数组(即“ int arr[256]; ”), sizeof运算符将返回1024(数组长度* sizeof(int))。

获取数组中对象的索引,匹配条件

我有一个这样的数组: [{prop1:"abc",prop2:"qwe"},{prop1:"bnmb",prop2:"yutu"},{prop1:"zxvz",prop2:"qwrq"},…] 我怎样才能得到匹配条件的对象的索引(不沿数组迭代)? 例如:对于prop2=="yutu" ,我想索引1 。 我看到.indexOf()方法,但认为它用于简单的数组,如: ["a1","a2",…]我也检查$.grep()但这返回我的对象​​,而不是索引.. 。

BASH数组中包含空格

我想在我的相机的文件名的bash-shell中构造一个数组: FILES=(2011-09-04 21.43.02.jpg 2011-09-05 10.23.14.jpg 2011-09-09 12.31.16.jpg 2011-09-11 08.43.12.jpg) 正如你所看到的,每个文件名的中间都有一个空格。 我已经尝试用引号将每个名字包装起来,并用反斜杠将空间转义出来,两者都不起作用。 当我尝试访问数组元素时,它将继续将空间视为元素分隔符。 我怎样才能正确捕捉名称内的空间的文件名?

为什么声明一个只包含C中数组的结构?

我碰到一些包含以下内容的代码: struct ABC { unsigned long array[MAX]; } abc; 什么时候使用这样的声明是有道理的?

将一个数组分成两组,最小差异

我遇到的一个面试问题: 给定一组数字,将数字分成两组,使得两组数字之和的差值最小。 这是我的想法,但我不确定这是否是一个正确的解决scheme: sorting数组 以前两个元素为例,把它们看作是2个元素(每个元素都有1个元素) 从数组中取下一个元素。 现在决定这个元素去哪个集合(通过计算总和应该是最小的) 重复 这是正确的解决scheme吗? 我们可以做得更好吗?

获取数组的最后一个元素而不删除它的最好方法是什么?

好, 我知道所有关于array_pop() ,但删除最后一个元素。 获取数组的最后一个元素而不删除它的最好方法是什么? 编辑:这是一个奖金: $array = array('a' => 'a', 'b' => 'b', 'c' => 'c'); 甚至 $array = array('a', 'b', 'c', 'd'); unset($array[2]); echo $array[sizeof($array) – 1]; // Output: PHP Notice: Undefined offset: 2 in – on line 4

如何find一个值的数组索引?

说我有这个 imageList = [100,200,300,400,500]; 这给了我 [0]100 [1]200等 有没有什么方法在JavaScript中返回索引的值? 即我想索引200 ,我得到回报1 。

如何在Swift中连接或合并数组?

如果有两个像这样快速创build的数组: var a:[CGFloat] = [1, 2, 3] var b:[CGFloat] = [4, 5, 6] 他们怎么能合并到[1, 2, 3, 4, 5, 6] ?

在Java中获取二维数组的数组长度

我需要获取行和列的二维数组的长度。 我已经成功地完成了这个,使用下面的代码: public class MyClass { public static void main(String args[]) { int[][] test; test = new int[5][10]; int row = test.length; int col = test[0].length; System.out.println(row); System.out.println(col); } } 如预期那样打印出5,10。 现在看看这一行: int col = test[0].length; 请注意,我实际上必须引用特定的行,才能获得列的长度。 对我来说,这似乎难以置信的难看。 另外,如果数组被定义为: test = new int[0][10]; 然后,代码将尝试获取长度时失败。 有没有一种不同的(更聪明的)方式来做到这一点?

是否有可能改变数组的值在foreach中的JavaScript?

例: var arr = ["one","two","three"]; arr.forEach(function(part){ part = "four"; return "four"; }) alert(arr); 该数组仍然是它的原始值,有没有办法从迭代函数写访问数组的元素?