查找每个给定查询中的元素所属的数组以及元素的数量
简介
在编程世界中,数组发挥着基础性的作用,并广泛应用于各种应用程序。通常,在处理大型数组时,我们会遇到需要确定每个查询集中每个元素属于哪个数组的情况。在本文中,我们将探讨使用 C++ 查找每个查询对应的数组以及元素数量的高效方法。我们的任务是识别每个查询元素属于哪个数组,并为这些特定数组生成计数。
查找每个给定查询中的元素所属的数组以及元素的数量
假设有多个数组包含不同的元素集。现在想象一下,您收到一组查询,这些查询包含来自这些数组的各个元素。查找每个给定查询中元素所属数组的过程,以及一个示例,可以详细解释。
我们可以通过两种方式处理输入查询,一种是提示用户输入查询元素,另一种是定义查询元素。在下面的代码中,我们已将查询定义为 {9, 3, 8, 1, 5}。根据给定的 C++ 代码,它将检查给定数组中是否存在任何查询元素。如果在某些情况下元素存在,则计数将递增并打印出来。
示例
让我们从查询中取一个元素 9,然后在三个可用数组中检查该元素是否存在。该元素需要存在于指定索引值处的数组中,它在 array1 和 array3 中找到,但在 array2 中未找到。
array 1 和 array 2 的计数值将保持为 0,但在 array3 中它递增到 1。类似地,在所有情况下都会检查元素,并根据匹配情况打印出来。
Array1 有三个匹配项(元素 5、8 和 9)。
Array2 有两个匹配项(元素 5 和 8)。
查找每个给定查询中元素所属数组以及元素数量的 C++ 代码
为了有效地解决这个问题,让我们考虑一个场景,其中我们预先定义了两个单独的数组(Array1[],Array2[])并填充了不同的元素。
算法
步骤 1 - 我们首先存储我们之前定义的数组以及它们各自的大小。
步骤 2 - 查询输入元素在代码中初始化。
步骤 3 - 保存三个数组计数的变量初始化为 0。
步骤 4 - 当查询元素存在于任何数组中时,计数值将不断变化。
步骤 5 - 遍历查询集中每个元素,将其与所有数组进行比较,并跟踪它属于哪些数组,然后我们可以找到查询匹配项。
步骤 6 - 最后,打印语句将返回元素的数量。
示例
#include <iostream> using namespace std; #define MAX_SIZE 100 // Maximum size for individual array int main() { int Array1[MAX_SIZE] = {5, 8, 9}; // initialization of array elements int Size1 = sizeof(Array1) / sizeof(Array1[0]); int Array2[MAX_SIZE] = {10, 12, 5, 8}; int Size2 = sizeof(Array2) / sizeof(Array2[0]); int queries[] = {9, 3, 8, 1, 5}; // Initializing the queries int numQueries = sizeof(queries) / sizeof(queries[0]); // Initialization int countArray1 = 0; int countArray2 = 0; // Finding matches for each query element for (int i = 0; i < numQueries; i++) { // Array1 check for (int j = 0; j < Size1; j++) { if (queries[i] == Array1[j]) { countArray1++; break; } } // Array2 check for (int k = 0; k < Size2; k++) { if (queries[i] == Array2[k]) { countArray2++; break; } } } cout << "Query Elements Distribution:" << endl; if (countArray1 > 0) { cout << "- Element(s) from Query found in Array1. Count: " << countArray1 << endl; } if (countArray2 > 0) { cout << "- Element(s) from Query found in Array2. Count: " << countArray2<<endl; } }
输出
Query Elements Distribution: - Element(s) from Query found in Array1. Count: 3 - Element(s) from Query found in Array2. Count: 2
结论
提供的代码允许我们输入自定义数组并平滑地分析查询。此技术可以显著提高大型数组中查询处理的性能,使程序员能够有效地优化其应用程序。在本文中,我们演示了一种使用 C++ 确定每个查询元素所属数组以及出现次数的高效方法。