在一个二维数组中,每一行都从左到右递增,每一列都从上到下递增,在这样一个数组里查找一个数

第一种:

十余年的双辽网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整双辽建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“双辽网站设计”,“双辽网站推广”以来,每个客户项目都认真落实执行。

思路:

二维数组是从左到右递增,从上到下递增,row为行数,col为列数,a[row-1][col-1]为最大数,如果剔除这一行,这一列,则最大数为a[row-2][col-2],如果要查找的num大于a[row-2][col-2]并且大于a[row-1][col-1],则在该row-1行和col-1列查找,照这样遍历。

这样太麻烦,效率太低,应当舍弃。

#include
#include
#include//二维数组传参
bool find(int (*a)[7],int M,int num)
{
assert(a);
int i=M-1;
int j=6;
if(numa[i][6])
{
return false;
}
else
{
while((j>0)&&(i>0))
{
if(num==a[i][j])
{
return false;
}
               if(num

第二种:

思路:实现比较简单,建议采用。

从右上角访问,该数组从左到右递增,从上到下递增,a[0][col-1]和num比较,如果num比a[0][col-1]大,则剔除该行,row--,如果num比a[0][col]小,则剔除该列,col--;缩小查找范围。

左下角访问道理一样。

#include
#include
bool find(int (*a)[7],int row,int num)
{
	int i=0;
	int col=7;
	int j=col-1;
	while(i=0)
	{
		if(a[i][j]==num)
		{
			return true;
		}
		else if(a[i][j]            
            
                        
文章题目:在一个二维数组中,每一行都从左到右递增,每一列都从上到下递增,在这样一个数组里查找一个数
本文URL:http://bzwzjz.com/article/ggsjdd.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 自适应网站建设 上市集团网站建设 外贸网站设计方案 成都定制网站建设 企业网站设计 企业网站建设 成都网站建设公司 成都网站建设 网站建设方案 响应式网站建设 网站建设公司 手机网站制作设计 定制网站制作 成都网站制作 营销型网站建设 成都网站设计 成都商城网站制作 宜宾网站设计 成都网站制作 响应式网站设计 营销型网站建设 高端网站设计