检查数组中的任何值是否等于添加到数组的当前值
Check if any value in array is equal to current value added to array
我的2D数组初始化为Storage[100][3]
。
我将一个组值插入数组的每一行,然后继续进行下一行,然后执行相同的操作,例如:
1 1 3
2 5 6
3 1 3
(保持到100行(
完成整个行的插入后,我想检查当前插入列的2和3中的值是否匹配上一行的所有值,第2和3列的值。
例如,在上面的数据集中,我在每一行中查看第2列和第3列,并看到第1和3行在这些列中具有相同的值。
我编写了一个程序,可以将当前插入与以前的插入进行比较。但是我想将当前插入与数组中的所有插入进行比较。
const int col=0;
//inserting the values//
for (int row= 0; row < 100; row++) {
storage[row][col] = t;
storage[row][col += 1] = xi;
storage[row][col += 2] = yi;
}
//trying to check if the values are same. need help here//
for (int row = 0; row < 100; row++) {
if (storage[row][col + 1]==storage[row + 1][col + 1]
&& storage[row][col + 2] == storage[row + 1][col + 2]) {
}
}
for (int row = 1; row < 100; row++) {
for (int prevRow = 0; prevRow < row; prevRow++) {
if (storage[row][1] == storage[prevRow][1]
&& storage[row][2] == storage[prevRow][2]) {
// do something...
}
}
}
外循环从row = 1
开始,因为第0行0没有以前的行比较。
如果要创建一种算法,该算法可以很好地缩放O(log2n(,而不是O(n^2(尝试使用哈希表来跟踪遇到的数字。我第一次迭代的示例号是4、2、3。
您可以计算出遇到重复数字的次数,最重要的是,您不必进行loop搜索自己!
int main(array<System::String ^> ^args)
{
std::map<int, int> twoColsCounts;
int storage[100][3];
int ordinal1 = 4;
int ordinal2 = 2;
int ordinal3 = 3;
for (int i = 0; i < 100; i++)
{
storage[i][0] = ordinal1;
storage[i][1] = ordinal2;
storage[i][2] = ordinal3;
int lastTwoDigits = ordinal2 * 10 + ordinal3;
auto inMapRecord = twoColsCounts.find(lastTwoDigits);
if (inMapRecord != twoColsCounts.end())
{
// Number Already Found. Increment count for posterity!
twoColsCounts[lastTwoDigits]++;
}
else
{
// Not already encountered - Add it to record with count of 1
twoColsCounts[lastTwoDigits] = 1;
}
}
Console::WriteLine(L"Done 'big data' style!");
return 0;
}
祝你好运!
相关文章:
- C++向数组添加元素并调整数组大小
- 向对象数组 c++ 添加值
- 在 c++ 中将 Char 数组添加到 Char * 变量
- 向动态数组添加内容
- 动态数组添加元素而不创建结构变量/对象
- 将 2D 数组添加到 1D 数组
- 如何使用sprintf将UINT_64的数组添加到一个字符数组中
- 当循环崩溃时,不向数组添加单词
- 如何将对象数组添加到另一个类
- 将字符数组添加到 const string&in C++
- 如何将数组添加到列表中
- 向量数组C++ - 添加元素时的奇怪行为
- 将char数组添加到C 中的字符串
- strncpy向我的char数组添加了额外的字符
- 在C++中向数组添加项的最有效方法
- 将类对象的数组添加到一个主类对象中
- 将BSON数组添加到MongoDB 3.2文档并提取值(MongoCXX 3.2)(C++11)
- 我是否正确地为 2D 数组添加了行与列
- 读取文件内容,存储在数组中,向数组添加更多内容,然后将新数组存储在文件C++中
- C++类对象数组 - 添加新记录