目录
1.问题概述
有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。
2.代码思路
1.矩阵每行从左向右,矩阵每列从上到下:二维数据
2.从左到右递增,从上到下递增:每列的最后一个是每行最大的,最后一行的最后一个是整体最大的。
3.由此可得:直接将需要寻找的数与每行的最后一列来做对比。如果大于最后一列,行数就往下走一行,如果小于这一列,就在本行内寻找。
3.代码逻辑
#include <stdio.h>
void Find_Num(int arr[3][3], int* pa, int* pb, int key)
{
int x = 0;
int y = (*pb) - 1;//直接从第0行的最后一列开始比较
while (x <= 2 &&