您的位置:首页 > 其它

二维数组中查找数据(该数组每行从左至右递增,每列从上至下递增)

2017-04-12 19:12 323 查看
/*二维数组中查找(该数组每行从左至右递增,每列从上至下递增)*/
#pragma once
#include <iostream>
using namespace std;

const int ROW = 4;
const int COL = 4;
bool Find(int a[ROW][COL],int key)
{
if (a && COL>0 && ROW>0)
{
int col = COL-1;
int row = 0;
while(col >= 0 && row < ROW)
{
if (a[row][col] == key)
{
return true;
}
else if (a[row][col] > key)
{
col -= 1;
}
else
{
row += 1;
}
}
}
return false;
}

void TestFind()
{
int array[ROW][COL] = {{1,2,8,9},{2,4,9,12},{4,7,10,13},{6,8,11,15}};
int data = 5;
cout<<data<<":"<<Find(array,data)<<endl;//数组中没有的值
data = 1;
cout<<data<<":"<<Find(array,data)<<endl;//最大值
data = 15;
cout<<data<<":"<<Find(array,data)<<endl;//最小值
data = 13;
cout<<data<<":"<<Find(array,data)<<endl;//中间值
cout<<1<<":"<<Find(NULL,data)<<endl;//空指针
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐