gpt4 book ai didi

c# - 使用交错数组进行线性搜索?

转载 作者:行者123 更新时间:2023-11-30 18:09:32 24 4
gpt4 key购买 nike

我有以下程序,它通过数组创建 100 个随机元素。这 100 个随机值是唯一的,每个值只显示一次。

尽管使用线性搜索,它会一直查找整个数组。我怎样才能将Jagged Array放入其中,以便它只“扫描”剩下的剩余位置? (假设我将表格保持在 100 个最大元素,因此如果生成一个随机值,则数组将包含 99 个元素并进行线性搜索扫描......)

我假设我必须在 FoundLinearInArray 中的某处实现锯齿状数组?

希望这有意义。问候。

 private int ValidNumber(int[] T, int X, int Range)
{
Random RndInt = new Random();
do
{
X = RndInt.Next(1, Range + 1);
} while (FoundLinearInArray(T, X));

return X;

}/*ValidNumber*/

private bool FoundLinearInArray(int[] A, int X)
{
byte I = 0;
while ((I < A.Length) && (A[I] != X))
{
I++;
}
return (I < A.Length);
}/*FoundInArray*/


public void FillArray(int[] T, int Range)
{
for (byte I = 0; I < T.Length; I++)
{
T[I] = ValidNumber(T, I, Range);
}

}/*FillArray*/

最佳答案

所以看起来你想要填充你的数组,并且你想要保证其中的每一项都是唯一的?如果是这样,请将您生成的每个数字放入哈希集中。哈希集上的查找是 O(1)(或者可能是对数)——您可以将一百万个项目放入其中,并且仍然具有极高的性能查找。

关于c# - 使用交错数组进行线性搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2426442/

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