在随机数组中搜索特定值

本文关键字:搜索 随机 数组 | 更新日期: 2023-09-27 17:57:23

嗨,我被告知"编写代码来确定任务 7(随机数组)中的数组中是否包含一个值,例如"5",方法是从末尾开始向后浏览数组并将搜索值与数组中的值进行比较。搜索后,如果找到该值,请打印"已找到该值",否则打印"未找到该值"。

我了解随机数组的创建,但我被困在如何通过它向后工作并找到特定值上。

这是到目前为止的代码

class Program
{
    static void Main(string[] args)
    {
        int[] myArray = new int[10];
        Random rand = new Random();
        for (int i = 0; i < myArray.Length; i++)
        {
            myArray[i] = rand.Next(19);
        }
    }
}

}

在随机数组中搜索特定值

使用从最大到最小索引开始的循环。

 bool found = false;
 for (int i = myArray.Length - 1; i >=0 ; i--) 
     if(myArray[i] == 5)
        found = true;
 if(found)
 {
 }
 else
 {
 }

要向后退,只需使用带有迭代器的 for 循环来i--

for (int i = myArray.Length - 1; i >= 0; i---)
{
    if(// Check if myArray[i] equals the value to find)
    {
         // If it is the case, you can get out from the for loop with break
         break;
    }
}

for循环分为 4 个部分:

for (initializer; condition; iterator)
    body
  1. initializer在循环中的第一次迭代之前执行(这里你想从数组中的最后一个索引开始:myArray.Length - 1
  2. 每次迭代都会评估condition,如果此条件为 true,则它变为 3(您希望在i >= 0时留在for循环中),否则它将退出for循环
  3. 为满足条件的每次迭代执行body
  4. 执行iterator(在这里,当您要向后移动时,要减少i
  5. 然后它回到 2