如何编写一个 void 函数,该函数将在数组中搜索值,并通过引用将该值的位置传递回 main 函数

How to write a void function that will search for values in an array and pass the position of that value back to main function by reference?

本文关键字:函数 引用 main 位置 数组 何编写 一个 void 搜索      更新时间:2023-10-16

用户将输入一个值(大小(,该值表示要处理的值的数量。输入的值将存储在具有 1000 个元素的 short 类型的数组中。用户将输入尺寸数字。用户将输入搜索值。该程序将在数据中搜索特定值。程序将显示一条消息,其中找到了该值的元素,或者显示一条消息,该值未找到

使用顺序搜索搜索数组的函数

在找到偏移的地方分配下

标/元素 #,如果未找到,则分配偏移量 -1。

空sequential_search(空数据[],空头大小,空头search_value,空头和偏移量(

for (int n = 0; n < size; n++)
{
    if (search_value == data[n])
        offset = n;
    else 
        offset = -1;
}

我只找到了数组最后一个元素的值,我对从这里开始感到困惑。如果我去掉 else 语句,我会得到数组中值的位置,但它也给任何数字值数组中的最后一个位置。

do offset = -1 在 for 语句之前。在好的发现之后,你所做的任何负面发现都会破坏你的好发现。

这不是惯用的 c++。惯用的方法是使用 find。

auto data_result = std::find(data, data + size, element);
auto offset = data_result - data;