如果用户输入的与输入的数组匹配,在 C++ 中如何返回数组的索引?

Posted

技术标签:

【中文标题】如果用户输入的与输入的数组匹配,在 C++ 中如何返回数组的索引?【英文标题】:In C++ how to return index of an array if user entered matches entered array? 【发布时间】:2009-08-29 02:35:39 【问题描述】:

我想知道如果用户输入的数组与输入数组匹配,我们如何获取数组的索引?

例如:

输入 Array = [1,2,3,4] 和用户输入的 Array = [2,3] 比我应该得到输出作为两个数组匹配为 1 的索引。

我们将不胜感激。

【问题讨论】:

我想你忘记了作业标签 我很确定它不是相关标签。感谢您的意见。 也许您可以编辑问题以提及您不想使用 STL。如果这不是家庭作业,我也很想知道原因。 【参考方案1】:

使用STL search algorithm,它可以满足您的需求:“search() 算法在 [start1,end1) 范围内查找元素 [start2,end2)。”您需要为其提供指向两个数组的开始和结束的指针;您可以通过将数组的长度添加到其起始指针来获得数组的结束指针。

更好的是,使用 STL 向量而不是数组来存储数据,然后只需调用 vec.begin() 和 vec.end() 即可获得所需的迭代器。

编辑:要在没有 std::search 的情况下执行此操作,请按照我提供的链接上的示例进行操作,该链接显示了如何进行搜索。如果您使用 C 风格,您将使用指针(如 int*)而不是 ForwardIterator。唯一棘手的地方是循环之外的部分,他们确定应该设置什么限制 - 这将变成一些指针算法。

【讨论】:

@aem 如何实现无 STL 搜索算法 +1 来自我 - 一个卓越的解决方案。距离我上次写 C++ 已经太久了。使用 STL 是可行的方法。

以上是关于如果用户输入的与输入的数组匹配,在 C++ 中如何返回数组的索引?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据用户当前输入以编程方式访问匹配值列表 - jQuery Autocomplete?

显示来自用户输入的部分数组值匹配

如何使用文件填充数组并将其与用户输入 c++ 进行比较

从用户输入中识别名称

输入值以部分匹配数组中的项目并返回 true

C++ 如何将输入的数读入数组