C++ 找到每个查询元素所属的数组以及元素的计数

C++ 找到每个查询元素所属的数组以及元素的计数

介绍

在编程世界中,数组起着基础作用,在各种应用中被广泛使用。在使用大型数组时,我们经常遇到需要确定每个查询集中的每个元素属于哪个数组的情况。在本文中,我们将使用C++来探讨一种高效的方法,找到每个查询的相应数组以及元素的计数。任务是确定每个查询元素属于哪个数组,并为这些特定数组生成计数。

找到每个查询元素所属的数组以及元素的计数

考虑到有多个包含不同元素集的数组。现在想象一下,我们收到一组查询,其中包含来自这些数组的单个元素。找到每个查询元素所属的数组的过程可以详细解释,并举一个例子。

我们可以用两种方式处理输入查询,一种是提示用户输入查询元素,另一种是定义查询。在下面的代码中,我们将查询定义为{9, 3, 8, 1, 5}。根据给定的C++代码,它将检查查询元素是否存在于给定的数组中。如果某些情况下存在元素,则计数将增加并打印出来。

示例

让我们假设查询中的元素为9,并且我们可以在三个可用数组中检查元素是否存在。元素需要在所述索引值的数组中存在,它在array1和array3中被找到,但在array2中没有找到。

数组1和数组2的计数值将保持为0,但在数组3中将增加为1。类似地,所有情况下都会检查元素并基于匹配进行打印。

  • 数组1有三个匹配项(元素5、8和9)。
  • 数组2有两个匹配项(元素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++

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程