VB:二分法查找

VB:二分法查找

'二分查找算法
Private Sub Command1_Click()Dim i%, m%, n%Dim x(1 To 10) As SingleFor i = 1 To 10x(i) = Val(InputBox("请输入"))Next iCall bubbleSort(x)For i = LBound(x) To UBound(x) 'LBound(x)和UBound(x)是用于获取数组x的下界和上界的函数。LBound(x)返回数组x的最小索引(即下界),UBound(x)返回数组x的最大索引(即上界)Print x(i); '加逗号的目的是其显示为一行数据Next iPrint '\n'For i = 1 To 5n = Val(InputBox("请输入你要查找的值"))m = binarySearch(x, n)If (m = 1) ThenPrint "已找到"ElsePrint "未找到"End IfNext i
End Sub
Function binarySearch(arr!(), key) As IntegerDim low%, high%, mid%, p As Booleanp = Falselow = LBound(arr)high = UBound(arr)Do While (low <= high)mid = (low + high) \ 2If arr(mid) = key Thenp = TruebinarySearch = 1Exit DoElseIf arr(mid) < key Thenlow = mid + 1Elsehigh = mid - 1End IfLoopIf p = False Then binarySearch = -1
End Function
Sub bubbleSort(arr!()) '通过arr!()表示arr是一个数组,并且!()表示该数组是在子程序调用时传递给它的Dim i%, j%For i = UBound(arr) To LBound(arr) Step -1 '这里的意思是从最大索引数10开始递减到最小索引数1For j = 1 To i - 1 'i到了1就会由于这个语句1无法正着到0,所以首先退出这里的循环If arr(j) > arr(j + 1) ThenCall mySwap(arr(j), arr(j + 1))End IfNext jNext i '当最后一步退出上一个循环后,i到了这个语句变为0,这样就不符合从10到1,也就退出了最外层的循环。
End Sub
Sub mySwap(ByRef a, ByRef b)Dim c As Variantc = aa = bb = c
End Sub

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/77713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运营技巧|如何在不同的平台上高效批量管理账户?

在当今全球化时代&#xff0c;中国出海企业和B2B外贸企业越来越重视海外社媒营销&#xff0c;这已成为企业抢占市场份额的关键。并且&#xff0c;为了获取到更多流量&#xff0c;跨境人们还会开通Facebook、Twitter、Google、TikTok、Instagram等平台账号&#xff0c;搭建自己的…

在SpringBoot项目加入冲突动态监测算法

一、什么是冲突动态监测算法 冲突动态监测算法是一种网络通信中的冲突检测方法&#xff0c;适用于无线网络或其他共享传输介质的环境。该算法通过监测网络中的冲突状况&#xff0c;以避免数据冲突导致的网络拥塞和性能下降等问题。 具体来说&#xff0c;冲突动态监测算法利用…

教你制作作业查询系统

嗨&#xff0c;各位老师们&#xff0c;今天我要给你们介绍一个超级方便的工具——易查分&#xff01;你知道吗&#xff0c;利用易查分&#xff0c;我们可以轻松制作一个便捷高效的作业查询系统哦&#xff01; 是不是想有个自己的分班or成绩查询页面&#xff1f;博主给老师们争取…

Go Tip02 指针类型 、值类型和引用类型 、标识符的命名规范

文章目录 一、指针类型二、值类型和引用类型三、标识符的命名规范 一、指针类型 package mainimport "fmt"func main() {saylocation()}func saylocation() {// 指针类型// 基本数据类型&#xff0c;变量存的是值// 用&获取变量的地址// 基本数据类型在内存的布…

提醒一个xampp启动mysql创建函数存在的坑

一直以来本地搭建的项目为了方便我都是使用xampp作为mysql的管理工具&#xff0c;比较简洁可视化比较好。但是最近程序的一个报错暴露了他与mysql之间的一些问题。 使用自增序列nextval函数时&#xff0c;突然抛出来一句&#xff1a; select nextval( SEQ_REGISTER_ID) > …

高性能数据JS网格 Bryntum Grid 5.5.2 Crack

高性能数据网格 Bryntum Grid 是一个高性能的网络表格组件。它是用纯 JavaScript 构建的&#xff0c;并且可以轻松地与所有主要 JS 框架集成。 功能丰富 Bryntum Grid 具有您期望从专业网格组件获得的所有功能&#xff0c;包括&#xff1a; 很好的表现;很好的绩效 没有人喜欢缓…

演讲实录:大模型时代,我们需要什么样的AI算力系统?

当前&#xff0c;“百模大战”带来了算力需求的爆发&#xff0c;AI芯片产业也迎来巨大机遇&#xff0c;“创新架构开源生态”正在激发多元AI算力产品百花齐放。面对新的产业机会&#xff0c;AI算力产业链亟需通过上下游协作共同把握机遇。 近日&#xff0c;浪潮信息AI&HPC…

异步FIFO设计的仿真与综合技术(1)

概述 本文主体翻译自C. E. Cummings and S. Design, “Simulation and Synthesis Techniques for Asynchronous FIFO Design 一文&#xff0c;添加了笔者的个人理解与注释&#xff0c;文中蓝色部分为笔者注或意译。 摘要&#xff08;ABSTRACT&#xff09; FIFO通常被用于将数据…

万物目标识别——Detic使用图像级别的监督信号来进行目标检测模型推理(C++/Python)

一、目标识别 1.1 传统目标识别算法 传统目标检测通常将分类&#xff08;确定物体属于哪个类别&#xff09;和定位&#xff08;确定物体的位置&#xff0c;通常使用边界框bbox表示&#xff09;任务耦合在一起。这要求训练数据集中包含每个物体的类别标签以及其对应的bbox位置…

【开发】视频监控平台EasyCVR分组批量绑定/取消通道功能的后端代码设计逻辑介绍

视频监控平台/视频存储/视频分析平台EasyCVR基于云边端一体化管理&#xff0c;可支持视频实时监控、云端录像、云存储、磁盘阵列存储、回放与检索、智能告警、平台级联等功能。安防监控平台在线下场景中应用广泛&#xff0c;包括智慧工地、智慧工厂、智慧校园、智慧社区等等。 …

qt exec 跟show的区别

1、要理清两个函数的区别&#xff0c;首先需要理解窗口模式&#xff1a; 模式窗口&#xff1a;窗口会原地阻塞&#xff0c;只能操作该窗口&#xff0c;其余窗口不能再操作&#xff1b;只有关闭该窗口后&#xff0c;代码处才会获得返回值&#xff0c;阻塞停止&#xff0c;就可以…

【Flink实战】玩转Flink里面核心的Sink Operator实战

&#x1f680; 作者 &#xff1a;“大数据小禅” &#x1f680; 文章简介 &#xff1a;玩转Flink里面核心的Sink Operator实战 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 目录导航 Flink Sink Operator简介Flink 核心知识 Sink Operator速览Fl…

便捷高效的查询系统

今天我要来给大家种草一个超级好用的教学工具——易查分&#xff01;使用易查分&#xff0c;老师们可以轻松制作一个方便快捷的成绩查询系统&#xff0c;让查询成绩变得简单又高效。下面就让我来为大家详细介绍一下使用教程吧&#xff01; 是不是想有个自己的分班or成绩查询页面…

Eclipse官网下载历史版本

进入官网 https://www.eclipse.org/ 进入下载页面 选择下载包 同一版本&#xff0c;又有不同类型 Eclipse IDE for Enterprise Java and Web Developers Eclipse IDE for Java Developers 任何Java开发人员必备的工具&#xff0c;包括Java IDE、Git客户端、XML编辑器、Mave…

Unity实现用WASD控制一个物体前后左右移动-小白课程01

1 根据业务逻辑搭建场景 02 根据业务写代码 using System.Collections; using System.Collections.Generic; using UnityEngine;//实现让被挂在的物体往前移动 //按下W键往前移动&#xff0c;按下S键往后移动 public class RoleMove : MonoBehaviour { public float myspe…

新手询问想要成功学好嵌入式开发有什么建议吗?

今日话题&#xff0c;想要成功学好嵌入式开发有什么建议吗&#xff1f;想要学好的话选择一门合适的编程语言是关键。虽然嵌入式开发支持多种语言&#xff0c;但C和C仍然是最常用的。如果你是初学者&#xff0c;从学习C语言开始是一个不错的选择。它相对容易学习&#xff0c;而且…

C++(day5)

思维导图 小练习 实现一个图形类&#xff08;Shape&#xff09;&#xff0c;包含受保护成员属性&#xff1a;周长、面积&#xff0c;公共成员函数&#xff1a;特殊成员函数书写 定义一个圆形类&#xff08;Circle&#xff09;&#xff0c;继承自图形类&#xff0c;包含私有属性…

Python下载、安装及如何配置Pycharm(Windows 11)详细教程

本文介绍在Windows 11系统Python的下载、安装及配置Pycharm 一、下载 官网地址&#xff1a;https://www.python.org/downloads/windows/ 1、选择Python 3.10.5版本下载 二、安装 1、选择自定义安装 2、全部默认勾选&#xff0c;点击Next 3、自定义安装路径 建议勾选inst…

代码随想录算法训练营Day56 | 583. 两个字符串的删除操作 | 72. 编辑距离 | 编辑距离总结篇

文章目录 583. 两个字符串的删除操作抽象化&#xff1a;最长公共子序列的长度dp 记录删除元素的数量 72. 编辑距离编辑距离总结篇 583. 两个字符串的删除操作 题目链接 | 解题思路 本题的第一反应应该是进行最长公共子序列的抽象化&#xff0c;因为删除元素这个操作看上去很复…

Debug C++之opencv下Mat的data赋值问题,出现段错误(核心已转储)

记录一个Mat赋值报错问题&#xff1a; 通常算法对软件的接口没有Mat类型&#xff0c;需要传unsigned char*标定Mat的data&#xff0c;宽度和高度三个信息&#xff1a; 例如&#xff0c;下面的接口定义了两张图像&#xff0c;用于相机对图像处理后的返回结果&#xff0c;接口信息…