杨氏矩阵

#include <stdio.h>
#define ROW 4
#define COL 4

int youngSearch(int * YOUNG, int search);

void main()
{
 int young[][COL] = {{1,4,5,9},{3,7,8,10},{4,8,9,11},{6,9,11,13}};
 int search;
 printf("input the search num. \n");
 scanf("%d",&search);
 if(youngSearch(young, search))
  printf("%d is in youngMatrix.",search);
 else
  printf("%d is not in youngMatrix.",search);
}
int youngSearch(int * YOUNG, int search)
{
 int funROW = 0;
 int funCOL = COL -1;
 int i = 0;
 int value = * ( YOUNG + funROW * ROW + funCOL);
 for(;i<ROW+COL;i++)
 {
  if(search == value)
   return 1;
  else if((value > search) && (funCOL > 0))
   value = * ( YOUNG + funROW * ROW + (--funCOL));
  else if((value < search) && (funROW < ROW - 1))
   value = * ( YOUNG + (++funROW) * ROW + funCOL);
  else
   return 0;
 }
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值