【发布时间】:2018-09-13 11:09:41
【问题描述】:
我要问的问题会非常具体。
假设我们有一个具有一定大小的数组/哈希表。 并不是这个数组/表中的每个空间都被使用了。 例如,假设我们有一个名为“arr”的整数数组,其大小为 150。
arr[3] = 5;
arr[16] = 22;
arr[127] = 3;
除了这三个之外,0 到 150 之间的所有其他空格都是空的。 现在假设我们要打印此数组中的每个数字(不为空)。
我们可以创建一个从 0 到 150 的循环来检查数组空间是否为空,如果不是则打印它。 但这意味着仅打印 3 个变量我们需要进行 150 次检查。
我想知道是否可以直接打印这些数字而无需查看整个数组。 我的意思不是检查空值,而是直接从一个非空变量到另一个非空变量。
我的问题也与哈希表相同,假设我们没有为 0 和哈希表大小之间的每个数字创建表。是否可以只查看现有表而不是每次都检查表是否存在。
即使它不可能用数组或哈希表来做我所说的,是否有任何方法可以直接从一个变量转到下一个变量。 (链接列表不是我要搜索的)
【问题讨论】:
-
C# 中没有
nullint这样的东西。你的意思是他们是int?类型? -
使用
List<int>并在需要时向其中添加项目。它基本上是一个可调整大小的数组。 -
我会在这里使用
Dictionary<int, int>而不是数组。您可以使用字典的方法来获取现有的键(键将是数组索引)。 -
这是 C++ 还是 C#?