C++二维数组中的查找算法示例

发布时间 - 2026-01-11 01:01:44    点击率:

本文实例讲述了C++二维数组中的查找算法。分享给大家供大家参考,具体如下:

一、问题:

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

二、实现代码:

#include <iostream>
#include <vector>
using namespace std;
bool Find(int target, vector<vector<int> > array) {
  int row = array.size();   //行数  
  int column = array[0].size();  //列数
  int i = 0, j = column - 1;
  while (i < row && j >= 0)
  {
    if (array[i][j] == target) //从右上角第一个找起,大于target向左查找,小于target则向下查找
    {
      return true;
    }
    else if (array[i][j] > target)
    {
      j--;    //向左查找
    }
    else
    {
      i++;    //向下查找
    }
  }
  return false;
}
int main()
{
  vector<int> vec1{ 3, 7, 9, 12, 19, 23 };
  vector<int> vec2{ 4, 17, 19, 31, 32, 33 };
  vector<vector<int> > array;
  array.push_back(vec1);
  array.push_back(vec2);
  bool result = Find(32, array);
  cout << "result = " << result << endl;
  system("pause");
}

希望本文所述对大家C++程序设计有所帮助。


# C++  # 二维数组  # 查找  # 算法  # C++ 使用 new 创建二维数组实例  # c++利用vector创建二维数组的几种方法总结  # C++二维数组螺旋加密信息  # C++二维数组中数组元素存储地址的计算疑问讲解  # C++ 二维数组参数传递的实现方法  # C++中指针指向二维数组实例详解  # C++中用new创建二维数组和指针数组实例代码  # 详解C++中的一维数组和二维数组  # C++指针数组、数组指针、数组名及二维数组技巧汇总  # C++中的不规则二维数组实现代码  # 组中  # 第一个  # 给大家  # 所述  # 程序设计  # 从上到下  # 行数  # 一个函数  # 讲述了  # brush  # cpp  # class  # cout  # pre  # include  # vector  # namespace  # gt  # lt  # iostream 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JavaScript如何实现错误处理_try...catch如何捕获异常?  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  如何在搬瓦工VPS快速搭建网站?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  怎么用AI帮你设计一套个性化的手机App图标?  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  Android仿QQ列表左滑删除操作  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Linux网络带宽限制_tc配置实践解析【教程】  EditPlus 正则表达式 实战(3)  b2c电商网站制作流程,b2c水平综合的电商平台?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  javascript中对象的定义、使用以及对象和原型链操作小结  昵图网官方站入口 昵图网素材图库官网入口  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  使用豆包 AI 辅助进行简单网页 HTML 结构设计  免费网站制作appp,免费制作app哪个平台好?  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  装修招标网站设计制作流程,装修招标流程?  如何快速生成可下载的建站源码工具?  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  实例解析angularjs的filter过滤器  如何破解联通资金短缺导致的基站建设难题?  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  如何为不同团队 ID 动态生成多个独立按钮  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  javascript日期怎么处理_如何格式化输出  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Android利用动画实现背景逐渐变暗  如何打造高效商业网站?建站目的决定转化率  Laravel怎么在Blade中安全地输出原始HTML内容  Laravel怎么使用Intervention Image库处理图片上传和缩放  如何在阿里云香港服务器快速搭建网站?  如何挑选高效建站主机与优质域名?  如何在橙子建站上传落地页?操作指南详解  javascript中闭包概念与用法深入理解  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  如何将凡科建站内容保存为本地文件?  Laravel Docker环境搭建教程_Laravel Sail使用指南  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  大型企业网站制作流程,做网站需要注册公司吗?  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  制作公司内部网站有哪些,内网如何建网站?