当前位置: 首页 > news >正文

数组算法--基本查找

一.算法的核心思路

        基本查找就是从数组的0索引处开始,依次往后查找,如果找到了对应索引处的值,就会返回数据对应的索引号,如果没有找到,就会返回-1。因为数组的索引号是没有-1的,当返回-1的时候,就能明白没有找到。

二.算法的核心代码及详解

        首先我们来看一下该算法的代码:

int main() {//给定一个数组以及一个要查找的值,看这个值是否在这个数组里面。//如果在,输出索引号,否则输出-1,表示没有。//首先定义一个数组int arr[] = { 23,324,32,43,14 };int len = sizeof(arr) / sizeof(int);   //求出数组长度//设置好要查找的数据int num = 32;				//调用查找函数,传递实参过去,并定义index变量来接收索引号int index = find(arr, len, num);printf("%d\n", index);return 0;}int find(int arr[], int len,int num) {//查找里面是否有要查找的数据for (int i = 0; i < len; i++) {if (arr[i] == num) {return i;}}return -1;
}

如代码所示,我们首先定义了一个函数,用来查找是否有我们要找的数据,里面的形参分别接收要查找的数组arr[],数组的长度len以及要查找的数据num。 

最后,由于我们要查找的数据是32,在数组中是存在的,因此最后的结果应该也就是32在数组中的索引。让我们来验证下:

输出索引号是2,表示我们的程序运行是没有错误的。 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 在vs code中用npm run serve运行项目报错
  • STM32之九:ADC模数转换器
  • 文献阅读:tidyomics 生态系统:增强组学数据分析
  • Guns v7.3.0:基于 Vue3、Antdv 和 TypeScript 打造的开箱即用型前端框架
  • Large Language Model系列之一:语言模型与表征学习(Language Models and Representation Learning)
  • Python+Django+MySQL的新闻发布管理系统【附源码,运行简单】
  • 使用 Vue3、Node.js、MySQL、Electron 和 Express 实现用户登录、文章管理和截屏功能
  • 【Git 学习笔记_14】第七章 用 git hook 钩子、别名、脚本提升日常工作效率(上)
  • 微软研究人员为电子表格应用开发了专用人工智能LLM
  • 深度学习落地实战:识别火车票信息
  • cephrgw元数据和数据布局
  • PyCharm查看文件或代码变更记录
  • 每天一个数据分析题(四百三十九)- 用户画像
  • Spring3(代理模式 Spring1案例补充 Aop 面试题)
  • NXP i.MX8系列平台开发讲解 - 3.19 Linux TTY子系统(二)
  • SegmentFault for Android 3.0 发布
  • Fabric架构演变之路
  • js写一个简单的选项卡
  • Lucene解析 - 基本概念
  • Node 版本管理
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Sass 快速入门教程
  • SegmentFault 2015 Top Rank
  • Vue UI框架库开发介绍
  • vue数据传递--我有特殊的实现技巧
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 力扣(LeetCode)357
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 排序算法之--选择排序
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 消息队列系列二(IOT中消息队列的应用)
  • linux 淘宝开源监控工具tsar
  • Prometheus VS InfluxDB
  • ​flutter 代码混淆
  • #162 (Div. 2)
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (1)虚拟机的安装与使用,linux系统安装
  • (javaweb)Http协议
  • (react踩过的坑)Antd Select(设置了labelInValue)在FormItem中initialValue的问题
  • (zt)最盛行的警世狂言(爆笑)
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (补充)IDEA项目结构
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (十二)Flink Table API
  • (五)IO流之ByteArrayInput/OutputStream
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (一) storm的集群安装与配置
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径