行列递增矩阵的查找

xiaoxiao2021-02-28  91

题目描述: 在一个m行n列的二维数组中,每一行都按照从左到有的递增顺序排列,每一列都按照从上到下递增顺序排列。现输入这样一个二维数组和整数,判断该数组是否含有该整数! O(m+n)

点击(此处)折叠或打开

#include<iostream> using namespace std; //const int COL = 4; //const int ROW = 4; bool find(int **array,int Col,int Row,int searchKey)//注意这里的参数传递 {     int row = 0;     int col = Col-1;      //    int compare = array[0][COL-1];     while (1)     {         if (array[row][col] == searchKey)         {             return true;         }         else if (array[row][col] > searchKey && row < Row-1)         {             ++row;         }         else if (array[row][col] < searchKey && col >= 0)         {             --col;         }         else             return false;     } } int main() {     int COL,ROW;     cin >> COL;     cin >> ROW;     int **a = new int *[ROW];     for (int i = 0;i < COL;i++)     {         a[i] = new int[COL];     }     for (int i = 0;i < ROW;i++)     {         for (int j = 0;j < ROW;j++)             cin >> a[i][j];     } //    int a[][4] = {1,2,8,9,2,4,9,12,4,7,10,13,6,8,11,15};     cout << find(a,COL,ROW,18)<< endl;     return 0;      } <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script> 阅读(132) | 评论(0) | 转发(0) | 0

上一篇:linux内核的一点总结

下一篇:内存管理

相关热门文章 test123编写安全代码——小心有符号数...使用openssl api进行加密解密...一段自己打印自己的c程序...彻底搞定C语言指针详解-完整版... 给主人留下些什么吧!~~ 评论热议
转载请注明原文地址: https://www.6miu.com/read-55910.html

最新回复(0)