码迷,mamicode.com
首页 > 编程语言 > 详细

题目三:二维数组中的查找

时间:2019-07-28 14:00:58      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:col   back   维数   bool   整数   get   题目   描述   数组   

//二位数组查找 题目描述
//在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
//请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

bool FindNum(int target, vector<vector<int> > vect)
{
     int iRow = vect.size();
     int iCol = vect[0].size();
    
     //从左上角开始遍历
     int i = 0, j = iCol - 1;
     while (i <= iRow - 1 && j >= 0) //保证数组不能越界
     {
         if (vect[i][j] > target)
         {
             j--;
         }
         else if (vect[i][j] < target)
         {
             i++;
         }
         else
         {
             return true;
         }
     }

    return false;
}

int DoubleArrayTest()
{
     //7, [[1, 2, 8, 9], [2, 4, 9, 12], [4, 7, 10, 13], [6, 8, 11, 15]]
     int aiData[4][4] = {{1, 2, 8, 9}, {2, 4, 9, 12}, {4, 7, 10, 13}, {6, 8, 11, 15}};
     vector<vector<int>> res;

    cout << "初始化二位数组: " << endl;
     for (int i = 0; i < 4; i++)
     {
         vector<int> vect;
         for (int j = 0; j < 4; j++)
         {
             vect.push_back(aiData[i][j]);
         }
         res.push_back(vect);

        TraversalArray(res[i]);
     }

    if (FindNum(7, res))
     {
         cout << "true" << endl;
     }
     else
     {
         cout << "false" << endl;
     }

    return 0;
}

题目三:二维数组中的查找

标签:col   back   维数   bool   整数   get   题目   描述   数组   

原文地址:https://www.cnblogs.com/yzdai/p/11258595.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!