二维数组的查找
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二维数组的查找相关的知识,希望对你有一定的参考价值。
题目:在一个二维数组中,每一行都按照从左到右递增,每一列都按照从上到下递增,请完成一个函数,输入这样一个二维数组和整数,判断其中是否含有该数。
代码:
#include<iostream> #include<cstdlib> #define COL 4 #define ROW 4 using namespace std; bool find(int *arr,int columns,int rows,int num) { bool found=false; if(*arr!=NULL && columns>0 && rows>0) { int row=0; int column=columns-1; while(row<rows && column>=0) { if(arr[row*columns+column]==num) { found=true; break; } else if(arr[row*columns+column]>num) { column--; } else { row++; } } } return found; } int main() { int matrix[][4] = {{1, 2, 8, 9}, {2, 4, 9, 12}, {4, 7, 10, 13}, {6, 8, 11, 15}}; bool ret=find((int*)matrix,4,4,3); cout<<ret<<endl; system("pause"); return 0; }
以上是关于二维数组的查找的主要内容,如果未能解决你的问题,请参考以下文章