面试题三 二维数组中的查找

来源:互联网 发布:c语言简单表白代码 编辑:程序博客网 时间:2024/05/22 13:58

#include<iostream>

#include<stdio.h>

using namespace std;

#define N 105

bool IsExistNumber(int a[][N],int num,int n,int m)

{

int iup,idown,j,mid;

for(j=0;j<m;j++)

{

iup=0,idown=n-1;

while(iup<=idown)

{

mid=(iup+idown)/2;

if(num>a[mid][j])

iup=mid+1;

else if(num<a[mid][j])

idown=mid-1;

else

return true;

}

}

return false;

}

int main(int argc,char *argv[])

{

freopen("input.txt","r",stdin);

int a[N][N],n,m,num;

scanf("%d%d",&n,&m);

for(int i=0;i<n;i++)

for(int j=0;j<m;j++)

scanf("%d",&a[i][j]);

scanf("%d",&num);

if(IsExistNumber(a,num,n,m))

puts("yes");

else

puts("no");

return 0;

}


0 0
原创粉丝点击