Tag: 数组

为什么C和C ++编译器在从不执行的时候,允许函数签名中的数组长度?

这是我在学习期间发现的: #include<iostream> using namespace std; int dis(char a[1]) { int length = strlen(a); char c = a[2]; return length; } int main() { char b[4] = "abc"; int c = dis(b); cout << c; return 0; } 所以在variablesint dis(char a[1]) , [1]似乎什么都不做,不起作用 所有,因为我可以使用a[2] 。 就像int a[]或char *a 。 我知道数组的名称是一个指针,如何传达一个数组,所以我的难题不在于这个部分。 我想知道的是为什么编译器允许这种行为( int a[1] )。 还是有其他的含义,我不知道?

如何总结同一个键的数组的值?

我怎样才能添加键[gozhi]所有值? 请注意, [gozhi]键是dynamic的 。 input数组: Array ( [0] => Array ( [gozhi] => 2 [uzorong] => 1 [ngangla] => 4 [langthel] => 5 ) [1] => Array ( [gozhi] => 5 [uzorong] => 0 [ngangla] => 3 [langthel] => 2 ) [2] => Array ( [gozhi] => 3 [uzorong] => 0 [ngangla] => 1 [langthel] […]

按对象字段sorting对象数组

我怎样才能sorting这个对象的数组,如name或count ? Array ( [0] => stdClass Object ( [ID] => 1 [name] => Mary Jane [count] => 420 ) [1] => stdClass Object ( [ID] => 2 [name] => Johnny [count] => 234 ) [2] => stdClass Object ( [ID] => 3 [name] => Kathy [count] => 4354 ) ….

创build对象数组时的NullPointerException

我一直在尝试创build一个包含两个值的类的数组,但是当我尝试将值应用于数组时,我得到一个NullPointerException。 public class ResultList { public String name; public Object value; public ResultList() {} } 。 public class Test { public static void main(String[] args){ ResultList[] boll = new ResultList[5]; boll[0].name = "iiii"; } } 为什么我得到这个错误,我该如何解决?

将PHP对象转换为关联数组

我正在整合一个API到我的网站,它使用存储在对象中的数据,而我的代码是用数组写的。 我想要一个快速和脏的函数来将对象转换为数组。

奇怪的行为的foreach

<?php $a = array('a', 'b', 'c', 'd'); foreach ($a as &$v) { } foreach ($a as $v) { } print_r($a); ?> 我认为这是一个正常的程序,但这是我得到的输出: Array ( [0] => a [1] => b [2] => c [3] => c ) 有人可以向我解释这个吗?

如何使用合并sortingalgorithm就地sorting?

我知道这个问题不是太具体。 我想要的是有人告诉我如何将正常的合并sorting转换为就地合并sorting(或具有恒定额外空间开销的合并sorting)。 我能find的所有网页都是“太复杂”或“超出本文范围”的页面。 唯一已知的就地合并(没有任何额外的空间)的方法太复杂,不能简化为实际的程序。 ( 从这里拿) 即使它太复杂了, 如何进行合并sorting的基本概念是什么?

Java数组打印出奇怪的数字和文本

我是编程新手。 我相信这个问题的答案在那里,但我不知道要search什么。 所以呢。 好的,我会去的。 这是我的代码: int[] arr; arr = new int[5]; arr[0] = 20; arr[1] = 50; arr[2] = 40; arr[3] = 60; arr[4] = 100; System.out.println(arr); } } 编译和工作正常。 这只是CMD的输出,我晕了。 这是输出: [I@3e25a5 我希望他们代表完全相同的数字(arr)。 我如何做到这一点?

线性索引,逻辑索引等等

我们习惯于在Matlab中使用不同forms的索引: 标准(每个维度使用整数), 逻辑(使用逻辑值), 线性(使用单个索引来遍历具有多个维度的数组)。 乍一看,这些forms似乎是独占的:索引是标准的,或逻辑的或线性的。 但是,有时这些forms中有几种似乎是混合的。 例如, >> A = magic(3) A = 8 1 6 3 5 7 4 9 2 >> A(A>5) ans = 8 9 6 7 这是合乎逻辑的索引,对吗? 但是它也具有线性索引的一些特征,因为列向量被返回。 实际上,逻辑索引A>5与线性索引find(A>5)具有相同的效果。 作为第二个例子,考虑一下 >> A = magic(3) A = 8 1 6 3 5 7 4 9 2 >> A(1:2, [true false true]) ans […]

Java中的数组或列表。 哪个更快?

我必须保留内存中的数千个string以Java方式串行访问。 我应该将它们存储在一个数组中,还是应该使用某种List? 由于数组将所有的数据保存在连续的内存块中(与列表不同),使用数组来存储数以千计的string会产生问题吗? 答:共识是性能差异较小。 List接口提供了更多的灵活性