阅读背景:

杨氏矩阵查找

来源:互联网 

一个m*n的矩阵,从左到右从上到下都是递增的,给一个数elem,求是否在矩阵中。

bool find(int **a, int m, int n, int k)
{
	int (*p)[n] = (int (*)[n])a;
	int i = 0;
	int j = n-1;
	while (i < m && j >= 0)
	{
		if (p[i][j] == k)
		{
			return true;
		}
		else if (p[i][j] < k)
		{
			i++;
		}
		else
		{
            j--;
		}
	}

	return false;
}

int main()
{
    int a[4][4] = {{1, 2, 8, 9}, {2, 4, 9, 12}, {4, 7, 10, 13}, {6, 8, 11, 15}};
	cout << find((int **)a, 4, 4, 16) << endl;

	return 0;
}b



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: