搜索一个数是否存在在这个二维矩阵
问题核心有两个方面,一个是创建二维矩阵,一个是设计算法寻找目标数。
首先是创建二维矩阵(以c++)为例
我们使用new创建动态数组
先创建一个指向指针数组的指针
之后用循环为每一个指针数组中的指针元素创建对应的动态数组
这样,我们的二位动态矩阵创建完毕
int n, m;
cin >> n >> m;
int** p = new int* [m];
for (int i = 0; i < m; i++)
{
p[i] = new int[n];
}
接下来就是寻找矩阵中目标数的算法,在此我只用了最基础的顺序搜索。
#include <iostream>
#include <vector>
using namespace std;
void shuzu();
int main()
{
shuzu();
}
void shuzu()
{
int n, m;
int targe, temp;
cin >> n >> m;
int** p = new int* [m];
for (int i = 0; i < m; i++)
{
p[i] = new int[n];
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
cin >> p[i][j];
}
}
cin >> targe;
temp = 0;
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
if (p[i][j] == targe)
{
cout << "true";
temp = 1;
break;
}
}
}
if (temp == 0)
{
cout << "false";
}
}