Questions tagged «arrays»

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

7
通过多个键对多维数组进行排序
我正在尝试通过多个键对多维数组进行排序,而且我不知道从哪里开始。我看了uasort,但不确定如何根据需要编写函数。 我需要按状态排序,然后按event_type排序,然后按日期排序。 我的数组如下所示: Array ( [0] => Array ( [ID] => 1 [title] => Boring Meeting [date_start] => 2010-07-30 [time_start] => 06:45:PM [time_end] => [state] => new-york [event_type] => meeting ) [1] => Array ( [ID] => 2 [title] => Find My Stapler [date_start] => 2010-07-22 [time_start] => 10:45:AM [time_end] …


13
VBA数组排序功能?
我正在寻找一种在VBA中对数组进行体面排序的实现。最好使用Quicksort。或者,除了冒泡或合并以外的任何其他排序算法都足够。 请注意,这是与MS Project 2003一起使用的,因此应避免使用任何Excel本机功能以及与.net相关的任何内容。


13
如何清空char数组?
具有像char成员[255]这样的char数组。如何不使用循环将其完全清空? char members[255]; “空”的意思是,如果其中存储了一些值,则应该没有。例如,如果我执行strcat,则旧值不应保留 members = "old value"; //empty it efficiently strcat(members,"new"); // should return only new and not "old value new"
83 c  arrays  char 




6
从数组创建对象
我想从数组列表中创建对象。我有一个动态数组,看起来像这样: var dynamicArray = ["2007", "2008", "2009", "2010"]; 并使用一些javascript es6,我想制作一个像这样的对象: const obj = { 2007: { x: width / 5, y: height / 2 }, 2008: { x: (2 / 5) * width, y: height / 2 }, 2009: { x: (3 / 5) * width, y: height / 2 …

10
动态分配阵列的理想增长率是多少?
C ++具有std :: vector,而Java具有ArrayList,许多其他语言都有其自己的动态分配数组形式。当动态数组空间不足时,它会重新分配到更大的区域中,并将旧值复制到新数组中。这种阵列性能的核心问题是阵列大小增长的速度。如果您总是只增长到足以容纳当前推送的大小,则最终每次都会重新分配。因此,将数组大小加倍或乘以1.5倍是有意义的。 有理想的增长因素吗?2倍?1.5倍?理想情况下,我的意思是数学上合理的,最佳的平衡性能和浪费的内存。我意识到从理论上讲,鉴于您的应用程序可能具有任何潜在的推送分布,因此这在某种程度上取决于应用程序。但是我很想知道是否有一个值“通常”是最佳的,或者在某些严格的约束条件下被认为是最佳的。 我听说某处有一篇论文,但是我一直找不到。


2
numpy如何比我的Fortran例程快得多?
我从仿真中得到了一个代表温度分布的512 ^ 3数组(用Fortran编写)。该阵列存储在大小约为1 / 2G的二进制文件中。我需要知道此数组的最小值,最大值和均值,并且由于不久以后无论如何我都需要了解Fortran代码,因此我决定尝试一下,并提出了以下非常简单的例程。 integer gridsize,unit,j real mini,maxi double precision mean gridsize=512 unit=40 open(unit=unit,file='T.out',status='old',access='stream',& form='unformatted',action='read') read(unit=unit) tmp mini=tmp maxi=tmp mean=tmp do j=2,gridsize**3 read(unit=unit) tmp if(tmp>maxi)then maxi=tmp elseif(tmp<mini)then mini=tmp end if mean=mean+tmp end do mean=mean/gridsize**3 close(unit=unit) 我使用的计算机上的每个文件大约需要25秒。那让我感到震惊,因为它相当长,所以我继续使用Python进行了以下操作: import numpy mmap=numpy.memmap('T.out',dtype='float32',mode='r',offset=4,\ shape=(512,512,512),order='F') mini=numpy.amin(mmap) maxi=numpy.amax(mmap) mean=numpy.mean(mmap) 现在,我希望这当然会更快,但是我真的很震惊。在相同条件下,它花费不到一秒钟的时间。平均值偏离了我的Fortran例程找到的平均值(我也使用128位浮点数运行,因此我以某种方式信任它),但仅在第7个有效位数左右。 numpy怎么这么快?我的意思是,您必须查看数组的每个条目才能找到这些值,对吗?我是否在Fortran例程中做了一些非常愚蠢的事情,以使其花费了更长的时间? 编辑: 要回答评论中的问题: 是的,我也使用32位和64位浮点数运行了Fortran例程,但它对性能没有影响。 我使用iso_fortran_env了提供128位浮点数的代码。 …


7
为什么Go中不经常使用列表?
我是Go的新手,对此感到很兴奋。但是,在我广泛使用的所有语言中:Delphi,C#,C ++,Python-列表非常重要,因为列表可以动态调整大小,而不是数组。 在Golang中,确实存在一个list.List结构,但是我很少看到有关它的文档-无论是在Go By Example还是我所拥有的三本Go书籍中,Summerfield,Chisnal和Balbaert都花了大量时间在数组和切片上,然后跳到地图。在源代码示例中,我也很少或根本没有使用list.List。 看来,与Python不同,RangeList不支持Python,这是IMO的一大缺陷。我想念什么吗? 切片当然不错,但是它们仍然需要基于具有硬编码大小的数组。这就是List出现的地方。有没有一种方法可以在Go中创建数组/切片,而无需使用硬编码的数组大小?为什么列表被忽略?
82 arrays  list  go 

18
检查字符串是否包含数组中的值
我正在尝试检测一个字符串是否包含至少一个存储在数组中的URL。 这是我的数组: $owned_urls = array('website1.com', 'website2.com', 'website3.com'); 该字符串由用户输入并通过PHP提交。在确认页面上,我想检查输入的URL是否在数组中。 我尝试了以下方法: $string = 'my domain name is website3.com'; if (in_array($string, $owned_urls)) { echo "Match found"; return true; } else { echo "Match not found"; return false; } 无论输入什么,返回值始终为“找不到匹配项”。 这是正确的做事方式吗?
82 php  arrays 

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.