二维数组关键字查找
来源:互联网 发布:万网域名转移godaddy 编辑:程序博客网 时间:2024/06/07 18:21
题目: 一个二维数组, 每行从左至右递增, 每列从上到下递增; 给一关键值, 查找数组中是否存在该关键值
如下示例
1, 2, 8, 9
2, 4, 9, 12
4, 8, 10, 13
6, 8, 11, 15
思路:1.从右上角开始查找 若关键值比右上角小, 则排除右上角所在列
若关键值比右上角大, 则排除右上角所在行
2. 递归
代码:
#include <iostream>
#include <vector>
using namespace std;
#define M 4
#define N 4
int FindKey(int (*a)[N], int key, int row, int col)
{
if (row>=M || col<0)
return 0;
if (key == a[row][col])
{
return 1;
}else if (key > a[row][col])
{
return FindKey(a, key, row+1, col); //排除row行
}else
{
return FindKey(a, key, row, col-1); //排除col列
}
}
int main()
{
int a[][N] = {{1, 2, 8, 9}, {2, 4, 9, 12}, {4, 8, 10, 13}, {6, 8, 11, 15}};
int key = 15;
int ret = FindKey(a, key, 0, N-1);
cout << ret; // 1代表找到 0代表没找到
system("pause");
}
- 二维数组关键字查找
- 二维数组合并 关键字
- 二维数组查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组查找
- 二维数组中的查找
- 二维数组的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组中的查找
- 二维数组查找
- 二维数组中的查找
- 二维数组查找
- thinking in java test chapter10(1)~(21)
- debian 下 php + nginx 环境配置 for wordpress
- 单片机电路
- 小白日记17:kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail
- 机器学习重点与步骤
- 二维数组关键字查找
- 30. Substring with Concatenation of All Words
- python可视化之直方图的绘制
- 双目视觉学习笔记(一)--qtcreator下使用opencv读取并存储双摄像头图像
- sdcc 51 迁移记录
- mosquitto源码分析(一)
- To Do
- iOS:ssh手机后,命令行的方式将手机中的文件拷贝到电脑上
- LeetCode---5. Longest Palindromic Substring(最长回文子串)