大家好,又见面了,我是全栈君
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的二维数组和一个整数判读数组中是否含有该整数。
#include "stdio.h"
#include <iostream>
using namespace std;
int a[16] = {1,2,8,9,
2,4,9,12,
4,7,10,13,
6,8,11,15};
bool Find(int *a, int row, int col, int data)
{
int i = row - 1;
int j = 0;
bool bFind = false;
if (a)
{
while (i >=0 && j < col)
{
if (data > a[i+j*col])
{
j ++;
}
else if (data < a[i+j*col])
{
i --;
}
else
{
bFind = true;
cout << i << " " << j << endl;
break;
}
}
}
return bFind;
}
void main()
{
bool ret = Find(a, 4, 4, 11);
cout << ret << endl;
return;
}>>> 2 3 >>> 1
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120174.html原文链接:https://javaforall.cn