0
点赞
收藏
分享

微信扫一扫

c语言编程题

十里一走马 2022-03-11 阅读 75

请编写一个程序查找杨氏矩阵中的某个数是否存在

要求:时间复杂度小于0(N).

这道题出自《剑指offer》--二维数组的查找

本人大一,随便写写。

#include<stdio.h>
int find_number(int arr[3][3],int k,int*px,int*py)
{
	int x=*px-1;
	int y=0;
	while(y<=*py-1&&x>=0)
	{
		if(arr[x][y]>k)
		{  x--;
		}
		else if(arr[x][y]<k)
		{    y++;
		}
		else{ *px=x;
		      *py=y;
		      return 1;   //找到了// 
			
		}
	} 
	return 0;  //没找到// 

}
int main()
{
	int arr[3][3]={{1,2,5},{3,4,8},{6,7,10}};
	int num=6;  	//要查找的数//
	int row=3;
	int col=3;
	//返回形参数//  
	//传地址过去来改变下标// 
	int t=find_number(arr,num,&row,&col);
	if(t==1)
	{  printf("找到了\n");
	printf("其下标是:%d,%d",row,col);
	 } 
	 else
	 {  printf("没找到");
	 }
举报

相关推荐

0 条评论