gpt4 book ai didi

c# - 只寻找现有变量

转载 作者:行者123 更新时间:2023-12-01 14:59:06 25 4
gpt4 key购买 nike

我要问的问题将非常具体。

假设我们有一个具有一定大小的数组/哈希表。
并没有使用此数组/表中的每个空格。
例如,假设我们有一个名为“arr”的整数数组,其大小为150。

arr[3] = 5;
arr[16] = 22;
arr[127] = 3;

除了这三个以外,其他所有介于0和150之间的空格均为空。
现在让我们说我们要打印此数组中的每个数字(不为null)。

我们可以做一个从0到150的循环,检查数组空间是否为null,如果不是,则打印它。
但这意味着仅打印3个变量,我们需要进行150次检查。

我想知道的是,是否有可能直接打印此数字而无需查看整个数组。
我的意思是直接检查从一个非空变量到另一个非空变量,而不是检查空值。

我的问题也与哈希表相同,可以说我们没有为0到哈希表大小之间的每个数字创建表。是否可以仅查看现有表而不是检查表(如果表存在或不存在)。

即使它不可能执行我所说的数组或哈希表,也有任何方法可以直接从一个变量转到下一个变量。 (链接列表不是我要搜索的列表)

最佳答案

数组是固定大小-连​​续内存数据结构。无法知道哪个元素被分配了,哪个元素没有被分配(没有分别记住分配的索引或迭代)。

HashTable(或字典)-不是连续内存结构。在我看来,仅(理想情况下)应在HashTable中存储3个条目。您根本不会存储其他(空)项目。您可以对列表执行相同的操作。

如果出于某种原因,您将0到150的所有内容添加到HashTable中,则除3之外的所有值均为Null。同样,您没有其他任何更简单的方法,只有迭代才能解决。

关于c# - 只寻找现有变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49641681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com