Questions tagged «arrays»

数组是一种有序的数据结构,由一组元素(值,变量或引用)组成,每个元素由一个或多个索引标识。当询问数组的特定变体时,请使用以下相关标记:[vector],[arraylist],[matrix]。使用此标签时,在特定于编程语言的问题中,使用正在使用的编程语言对问题进行标签。

6
为什么C#在两种int数组语法上的行为不同
C#中的数组在引用类型上隐式为协变的: object[] listString = new string[] { "string1", "string2" }; 但不是值类型,因此如果更改string为int,将得到编译错误: object[] listInt = new int[] {0, 1}; // compile error 现在,您需要担心的是,当您int像以下两种语法那样声明数组时,它们下面没有显式声明类型int,仅在上进行区分new[],编译器将以不同的方式对待: object[] list1 = { 0, 1 }; //compile successfully object[] list2 = new[] {0, 1}; //compile error 您将object[] list1 = { 0, 1 };成功编译,但是object[] list2= new[] {0, 1};编译错误。 …
69 c#  arrays 

4
数组作为会话变量
是否可以在PHP中使数组成为会话变量? 情况是我有一个表(第1页),其中有些单元格具有指向特定页面的链接。下一页将列出名称(第2页,我想保留在会话数组中)及其相应的复选框。提交此表格后,它将进入一个交易页面(第3页,其中已发布复选框的值保存在数据库中以用于对应名称)。现在,如果我返回首页并单击另一个单元格,则会话数组将包含新名称列表还是旧名称列表?
69 php  arrays  session 

12
您在PHP中使用复数还是单数来命名数组?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 改善这个问题 在为数组类型变量命名时,经常会遇到一个难题:我是使用复数形式还是单数形式命名数组? 例如,假设我有一个名称数组:在PHP中,我会说: $names=array("Alice","Bobby","Charles"); 但是,可以说我想在此数组中引用一个名称。对于Bobby,我会说:$names[1]。但是,这接缝违反直觉。我宁愿叫Bobby $name[1],因为Bobby只是一个名字。 因此,您会看到一点差异。有命名数组的约定吗?


4
numpy中的“ isnotnan”功能,是否可以使用pythonic?
我需要一个从数组返回非NaN值的函数。目前,我正在以这种方式进行操作: >>> a = np.array([np.nan, 1, 2]) >>> a array([ NaN, 1., 2.]) >>> np.invert(np.isnan(a)) array([False, True, True], dtype=bool) >>> a[np.invert(np.isnan(a))] array([ 1., 2.]) Python:2.6.4 numpy:1.3.0 如果您知道更好的方法,请分享,谢谢
69 arrays  numpy  python  nan 


4
C ++ 11:正确的std :: array初始化吗?
如果我按以下方式初始化std :: array,则编译器会向我发出有关括号丢失的警告 std::array<int, 4> a = {1, 2, 3, 4}; 这样可以解决问题: std::array<int, 4> a = {{1, 2, 3, 4}}; 这是警告消息: missing braces around initializer for 'std::array<int, 4u>::value_type [4] {aka int [4]}' [-Wmissing-braces] 这只是我的gcc版本中的错误,还是故意做的?如果是这样,为什么?

5
对几乎排序的数组排序(元素错位不超过k)
最近有人问我这个面试问题: 您将得到一个几乎已排序的数组,因为每个N元素的错位可能不超过k正确排序顺序的位置。寻找一种时空高效的算法对数组进行排序。 我有O(N log k)如下解决方案。 让我们来表示arr[0..n)从索引0(包括)到N(不包括)的数组元素。 分类 arr[0..2k) 现在我们知道arr[0..k)它们处于最终排序位置... ...但是arr[k..2k)可能仍然被放错位置k! 分类 arr[k..3k) 现在我们知道arr[k..2k)它们处于最终排序位置... ...但arr[2k..3k)可能仍会被k 分类 arr[2k..4k) .... 直到您进行排序arr[ik..N),然后您就完成了! 当您2k剩余的元素少于时,此最后一步可能会比其他步骤便宜 在每个步骤中,您最多要对中的2k元素进行排序,请O(k log k)至少k在每个步骤的末尾将元素置于其最终排序位置。有O(N/k)步骤,因此总体复杂度为O(N log k)。 我的问题是: 是O(N log k)最优的吗?这可以改善吗? 您能做到这一点而无需(部分)重新排序相同的元素吗?

5
通过.push()方法将项目添加到对象
我正在通过“复选框”类型的几个输入元素进行循环。之后,我将值和检查的属性添加到数组。这是我的代码: var stuff = {}; $('form input[type=checkbox]').each(function() { stuff[$(this).attr('value')] = $(this).attr('checked'); }); 这可以正常工作,但是我只是想知道是否可以在Jquery中使用.push()方法执行完全相同的操作? 我已经尝试过类似的方法,但是它不起作用: stuff.push( {$(this).attr('value'):$(this).attr('checked')} ); 编辑: 我试图在Object上使用.push()方法,但是.push()实际上只是Array Object的一种方法。

3
将制表符分隔的文件行读入数组
我想逐行将文件读入脚本。文件中的每一行都是由一个制表符分隔的多个值,我想将每一行读入一个数组。 典型的bash“逐行读取文件”示例; while read line do echo $line; done < "myfile" 但是对我来说,myfile看起来像这样(制表符分隔的值); value1 value2 value3 value4 value5 value6 在循环的每次迭代中,我希望每行都进入一个数组,以便我可以 while read line into myArray do echo myArray[0] echo myArray[1] echo myArray[2] done < "myfile" 这将在第一次循环迭代中打印以下内容; value1 value2 value3 然后在第二次迭代中它将打印 value4 value5 value6 这可能吗?我能看到的唯一方法是编写一个小的函数来手动分解值,为此bash中是否内置支持?
69 arrays  bash 

5
计算大于一个值的矩阵中的所有值
我必须计算矩阵(二维数组)中大于200的所有值。 我为此写下的代码是: za=0 p31 = numpy.asarray(o31) for i in range(o31.size[0]): for j in range(o32.size[1]): if p31[i,j]<200: za=za+1 print za o31 是一幅图像,我将其转换为矩阵,然后查找值。 我的问题是,有没有更简单的方法可以做到这一点?

5
如何合并数组和保留键?
我有两个数组: $array1 = array('a' => 1, 'b' => 2, 'c' => 3); $array2 = array('d' => 4, 'e' => 5, 'f' => 6, 'a' => 'new value', '123' => 456); 我想合并它们并保留键和顺序,而不是重新索引!! 怎么会这样? Array ( [a] => new value [b] => 2 [c] => 3 [d] => 4 [e] => 5 …
69 php  arrays 


7
C ++中是否不赞成使用“ new”和“ delete”?
我偶然发现了一个涉及大小不同的数组声明的测验。我想到的第一件事是,我需要在new命令中使用动态分配,如下所示: while(T--) { int N; cin >> N; int *array = new int[N]; // Do something with 'array' delete[] array; } 但是,我看到一种解决方案允许以下情况: while(T--) { int N; cin >> N; int array[N]; // Do something with 'array' } 经过一番研究,我了解到g ++允许这样做,但是这让我一直思考,那么在什么情况下有必要使用动态分配?还是编译器将此转换为动态分配? 包括删除功能。但是请注意,这里的问题与内存泄漏无关。

3
多个值的C ++数组分配
因此,在初始化数组时,可以在一个位置为其分配多个值: int array [] = {1,3,34,5,6} 但是如果数组已经初始化并且我想在一行中完全替换该数组中元素的值怎么办 所以 int array [] = {1,3,34,5,6} array [] = {34,2,4,5,6} 似乎不起作用... 有办法吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.