gpt4 book ai didi

c# - 对具有重复值的数组进行线性搜索

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:12:37 25 4
gpt4 key购买 nike

好的,我有一个算法可以对 double 组执行线性搜索。当它找到元素时,它会给我数组中的位置。问题是我不知道如何调整算法以使其考虑重复元素。我希望它仍然显示元素的位置,但是我正在努力做到这一点......我也不确定计步器是否真的在工作。如果有人能帮忙就太好了谢谢!

int i = 0;
double item = 0;
int pos = 0;
int steps = 0;

Console.Write("Enter item to search in array : ");
item = double.Parse(Console.ReadLine());

//Loop to search element in array
for (i = 0; i < LowArr.Length; i++)
steps++

{
if (item == LowArr[i])
{
pos = i + 1;
break;
}
}

if (pos == 0)
{
Console.WriteLine("Item Not found in array");
Console.WriteLine("Steps taken in Search: " + steps);
}
else
{
Console.WriteLine("Position of item in array: " + pos);
Console.WriteLine("Steps taken in Search: " + steps);

如果在数组中多次找到该值,我希望它能告诉我位置。

最佳答案

如果找到该值,那么您需要做的就是打印位置:

bool found = false;
for (i = 0; i < LowArr.Length; i++) {
if (item == LowArr[i]) {
Console.WriteLine("Position of item in array: " + i);
found = true;
}
}
if (!found) {
Console.WriteLine("Item Not found in array");
}

我还添加了一个 bool 标志,这样我们就可以在找不到该项目时添加一条消息。如果我们只是寻找第一次出现,那么您可以在找到它时从循环中跳出并检查是否 i == LowArr.length 以测试它是否未找到。

关于c# - 对具有重复值的数组进行线性搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57347076/

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