问题标签 [contiguous]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
34 浏览

python - 在列表中查找 ContiguousCount 项目?

给定一个列表:

我可以使用以下方法获取列表的计数collections.Counter

如何计算连续项目而不是列表中元素的全局计数?例如

0 投票
3 回答
4758 浏览

excel - Names.Add 在 VBA 中使用变量

如何使用以下变量创建以下非连续命名范围?

以下是变量:

如果我使用 1 个变量,它可以工作,但我无法使用多个变量来创建非连续范围。

0 投票
1 回答
222 浏览

c - 如何在 c 中创建具有连续 ID 的线程?

我正在尝试在 C 中创建具有连续 id 号的线程。例如,假设我想创建 10 个线程,然后我想给它们 1 到 10 的 id。稍后,我希望能够访问这些 id 并从线程函数中打印出来。这可行吗?

我知道这可能看起来很简单,但我还没有设法在任何地方找到解决方案。

谢谢

0 投票
2 回答
1299 浏览

c - 在 C 中为 3D 数组分配连续内存

我需要为 3D 数组分配连续空间。(编辑:)我想我应该在第一时间明确这一点,但在实际的生产代码中,直到运行时我才会知道数组的尺寸。为了简单起见,我在下面的玩具代码中将它们作为常量提供。我知道坚持使用连续空间的潜在问题,但我必须拥有它。我已经看到如何为 2D 数组执行此操作,但显然我不明白如何将模式扩展到 3D。当我调用函数来释放内存时free_3d_arr,我得到一个错误:

如果有人能告诉我修复方法是什么,我将不胜感激。代码在这里:

0 投票
6 回答
1394 浏览

arrays - 动态创建一个连续的 5D 数组?

我正在使用一个非常大的 5D 数组,我需要将其读入连续内存(另一个 5D 数组)。我无法将数组放在堆栈上,因为它太大并且会产生段错误。我所做的是使用 malloc 动态创建一个 5D 数组,但是我发现它不是连续的内存。是否有一个优雅的解决方案,或者无论如何它都会变得混乱?

0 投票
1 回答
320 浏览

python - 不同连续类型的numpy数组的加法速度

Numpy 数组以不同的连续类型(C-和 F-)存储。使用 numpy.swapaxes() 时,连续类型会发生变化。我需要添加两个多维数组(更具体地说是 3d),其中一个来自另一个具有交换轴的数组。我注意到的是,当第一个轴与最后一个轴交换时,在 3d 数组的情况下,连续类型从 C- 变为 F-。并且添加两个具有不同连续类型的数组非常慢(比添加两个 C 连续数组慢约 6 倍)。但是,如果交换其他轴(0-1 或 1-2),则生成的数组将具有 C- 和 F- 连续(非连续)的错误标志。对我来说奇怪的是,添加一个 C 配置数组和一个既不是 C 也不是 F 连续的数组实际上只比添加两个相同类型的数组慢一点。

  1. 为什么 C-&F-连续数组加法和 C-& 非连续数组加法看起来不同?是由不同的重新排列机制引起的,还是仅仅因为 C- 和 F- 连续的重新排列距离对于所有可能的轴顺序都是最长的?

  2. 如果我必须添加一个 C 连续数组和一个 F 连续/非连续数组,加速速度的最佳方法是什么?

下面是我遇到的一个最小示例。我电脑上打印的三个持续时间分别是 2.0s(C-contiguous + C-contiguous)、12.4s(C-contiguous + F-contiguous)、3.4s(C-contiguous + non-contiguous)和 3.3s(C-contiguous) + 不连续)。

0 投票
1 回答
921 浏览

c++11 - 哪种迭代器在 C++ 中支持随机访问但不支持连续存储?

我看到自 C++17 以来有一个新的迭代器,下面由 cppreference 中的屏幕截图列出。我很困惑。什么样的迭代器是随机访问而不是 C++ 中的连续存储?否则, ContiguousIterator 不比 RandomAccessIterator 强大吗?正确的?

在此处输入图像描述

然后这里的链接

0 投票
1 回答
139 浏览

arrays - Excel VBA 非连续数组用户定义函数修复

我有一个用户定义的函数,如下所示,它允许我将两个不相邻的列组合成一个连续的数组。

因此,如果我在单元格中键入“=makecontig(A1:A5,E1:E5)”,则会形成一个由公式中包含的两列组成的数组。我希望能够编辑此函数,以便它忽略一个充满错误的数组条目或任何类型的非数组条目。

例如,如果我输入“=makecontig(A1:A5,E1:E5, , )”或“=makecontig(A1:A5,Nothing,E1:E5)”或“=makecontig(A1:A5,E1:E5, C1:C5*#N/A)" 我希望它忽略错误或空白参数,只为 A1:A5 和 E1:E5 创建一个连续数组。

我想我需要在 UDF 的某处包含一个 If/Then 语句,但我似乎无法弄清楚如何正确执行它。

任何帮助,将不胜感激!

0 投票
1 回答
127 浏览

c - OpenGL - 将数据分配到 C 中的列表并在 glBufferData 中使用它无法正常工作

将数据推回列表然后在 OpenGL glBufferData 中使用此列表时出现问题。

我有一个简单的 OpenGL 场景,我使用 3 个不同的 spritebatch 绘制 3 个 sprite。当我预先为顶点分配内存然后将此顶点数组用于精灵顶点,然后推回列表时,它会起作用。但我想要的是将精灵顶点直接推回列表中,这不起作用,我只得到 3 个三角形(半个精灵)。

sb->vertices 是一个列表。

这有效并绘制了 3 个精灵:

工作版本

这不起作用,只绘制 3 个半精灵:

不工作

我认为像这样推回列表会给出可以在 glBufferData 中使用的连续内存块。

这是我调用 glBufferData() 的方式:

这是列表的代码:

0 投票
2 回答
365 浏览

memory-management - 外部碎片的解决方案-非连续分配

据我了解,程序在虚拟内存中分配了连续的地址空间。地址空间包含堆、堆栈、数据和文本部分以及一些空闲空间。

但实际上,这些部分在物理内存 (RAM) 中并不连续。如果是这样,那它不能解决外部碎片吗?我的意思是,外部碎片的全部意义在于我们没有足够的连续空间。那么,为什么不分解段并使用非连续空间呢?

我知道我错过了一些东西。有人可以详细说明一下吗?谢谢。