VB:二分法查找

news2025/1/22 16:03:37

VB:二分法查找

'二分查找算法
Private Sub Command1_Click()
    Dim i%, m%, n%
    Dim x(1 To 10) As Single
    For i = 1 To 10
        x(i) = Val(InputBox("请输入"))
    Next i
    Call bubbleSort(x)
    For i = LBound(x) To UBound(x) 'LBound(x)和UBound(x)是用于获取数组x的下界和上界的函数。LBound(x)返回数组x的最小索引(即下界),UBound(x)返回数组x的最大索引(即上界)
        Print x(i); '加逗号的目的是其显示为一行数据
    Next i
    Print '\n'
    For i = 1 To 5
    n = Val(InputBox("请输入你要查找的值"))
    m = binarySearch(x, n)
    If (m = 1) Then
        Print "已找到"
    Else
        Print "未找到"
    End If
    Next i
End Sub
Function binarySearch(arr!(), key) As Integer
    Dim low%, high%, mid%, p As Boolean
    p = False
    low = LBound(arr)
    high = UBound(arr)
    Do While (low <= high)
        mid = (low + high) \ 2
        If arr(mid) = key Then
            p = True
            binarySearch = 1
            Exit Do
        ElseIf arr(mid) < key Then
            low = mid + 1
        Else
            high = mid - 1
        End If
    Loop
    If 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开始递减到最小索引数1
        For j = 1 To i - 1 'i到了1就会由于这个语句1无法正着到0,所以首先退出这里的循环
            If arr(j) > arr(j + 1) Then
                Call mySwap(arr(j), arr(j + 1))
            End If
        Next j
    Next i '当最后一步退出上一个循环后,i到了这个语句变为0,这样就不符合从10到1,也就退出了最外层的循环。
End Sub
Sub mySwap(ByRef a, ByRef b)
    Dim c As Variant
    c = a
    a = b
    b = c
End Sub


在这里插入图片描述

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

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

相关文章

[移动通讯]【Carrier Aggregation-4】【LTE-3】

前言: 这里面重点讲解一下跟CA 相关的 UL UECapabilityInformation 参考&#xff1a; LTE附着流程详解-UECapabilityInformation_Amao_come_on的博客-CSDN博客 支持载波聚合的终端(UE) 4G | ShareTechnote CSDN CSDN LTE category New_is lte category supported in th…

厂商征集 | 2023年中国RPA市场洞察研究报告正式启动

RPA中国基于在科技行业的资源积累&#xff0c;以及对各领域「技术领导者」、「技术应用者」、「产品服务商」的深度调研&#xff0c;2023年&#xff0c;我们重点推出MI报告 ( Market Insight )、CI Vendor报告&#xff08;Comprehensive Influence Vendor&#xff09;两个系列。…

vvic API接口接入说明:解锁新一代数据可视化的无限可能

随着大数据时代的来临&#xff0c;数据可视化已成为我们理解、分析和呈现复杂数据的重要手段。在这个领域中&#xff0c;vvic以其独特的优势&#xff0c;引领着数据可视化的发展潮流。其强大的API接口&#xff0c;更是为开发者提供了无限可能&#xff0c;让数据可视化变得更为简…

c语言练习题54:指针(大小端字节序)

指针&#xff08;大小端字节序&#xff09; 题目代码&#xff1a; #include <stdio.h> int main() {int a[4] { 1, 2, 3, 4 };int* ptr1 (int*)(&a 1);int* ptr2 (int*)((int)a 1);printf("%x,%x", ptr1[-1], *ptr2);return 0; } 思路&#xff1a;…

rpc协议与http协议简述

http协议 HTTP&#xff08;Hypertext Transfer Protocol&#xff0c;超文本传输协议&#xff09;是一种用于在计算机之间传输超文本的应用层协议。它是Web应用中最常用的协议&#xff0c;用于在客户端和服务器之间传输数据。 HTTP超文本传输协议教程 http由定义可以看出是传…

PC网上订货系统的定义与组成|企业手机APP订单管理软件

PC网上订货系统的定义与组成|企业手机APP订单管理软件 企业网上订货系统主要用于公司和订货商建立订货关系&#xff0c;绑定订货商 属于是 经销商订货软件、供货商订货系统。 通过企业网上订货管理系统这把利器可以帮助企业打通线上&#xff0c; 线下业务&#xff0c;实现进销…

了解抖音小店认证:提升信誉度,增加曝光率,开启更多功能

抖音小店是抖音平台推出的一个电商功能&#xff0c;旨在帮助用户将抖音上的流量转化为销售&#xff0c;实现线上线下的互通。抖音小店认证是指商家通过一系列的审核流程&#xff0c;获得官方认证的资格&#xff0c;获得更多的曝光和特权&#xff0c;提升商家的信誉度和用户的购…

一百七十六、Kettle——Kettle配置HDFS输出控件能不能加GZIP等压缩方式?

一、目的 为了尽可能减少磁盘资源的消耗&#xff0c;因此需要对从Kafka到HDFS的写入数据进行数据压缩。由于使用的ETL工具是kettle&#xff0c;因此研究一下Kettle配置HDFS输出控件时能不能加GZIP等压缩方式? kettle9.2的HDFS输出控件压缩方式包括GZip、Hadoop-snappy、None…

如何在Python爬虫程序中使用HTTP代理?

在进行网络爬虫时&#xff0c;我们经常需要使用代理服务器来隐藏自己的真实IP地址&#xff0c;以避免被目标网站封禁或限制访问。本文将介绍如何将HTTP代理配置到Python爬虫程序中使用。 什么是HTTP代理&#xff1f; HTTP代理是一种网络代理&#xff0c;它充当客户端和服务器之…

asp.net一套完整的实验室综合管理系统源码 LIMS

LIMS将样品管理、数据管理、资源管理、业务管理、报告管理等功能融为一体&#xff0c;组成一套完整的实验室综合管理和产品质量监控体系。其核心是规范样品化验分析的工作流程&#xff0c;对样品分析的每一个环节进行监控和管理&#xff0c;在提高样品分析质量和人员工作效率的…

集中采购如何节省企业时间和金钱?

初创企业和规模较小的企业在采购时往往抱着 "获取业务所需 "的心态进行采购。这对于采购需求较低的小型企业来说可能可行&#xff0c;但随着企业的发展&#xff0c;采购系统必须不断发展。 这种演变通常始于一种通过技术进一步强化的流程——集中采购模式。利用集中…

恒运资本:煤炭、石油板块拉升,安泰集团一度涨停,中曼石油等走高

煤炭板块13日盘中发力走高&#xff0c;到发稿&#xff0c;安泰集团涨超6%&#xff0c;盘中一度涨停&#xff1b;平煤股份、山煤国际涨逾3%。石油、燃气板块亦上扬&#xff0c;到发稿&#xff0c;大连热电涨超7%&#xff0c;中曼石油涨逾4%&#xff0c;贝肯能源涨逾2%。 组织表…

数据治理的 “独孤九剑”

加gzh“大数据食铁兽”&#xff0c;了解更多大数据资讯&#xff01; 来源&#xff1a;与数据同行 免责声明&#xff1a;以上报告均系本平台通过公开、合法渠道获得&#xff0c;报告版权归原撰写/发布机构所有&#xff0c;如涉侵权&#xff0c;请联系删除 &#xff1b;资料…

【云原生进阶之PaaS中间件】第二章Zookeeper-3.2架构详解

​​​​​​​ 1 Zookeeper工作原理 1.1 Zookeeper的角色 领导者(leader),负责进行投票的发起和决议,更新系统状态 学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接受客户端请求并想客户端返回结果,在选主过程中参与投票 Observer可…

向日葵管理平台添加主机,获取葵码,在设备上进行绑定

管理平台地址 贝锐向日葵管理 - 登录 (oray.com) 使用 微信扫码登录 查看设备管理-设备列表 添加单个设备 输入名称&#xff0c;点击确定 生成葵码&#xff0c;点击此处 进行复制&#xff0c;在 被控端上进行葵码绑定

阿里云OSS文件上传下载【专栏】------文件下载(二)

目录 1、流式下载1.1、代码示例1.2、执行结果 2、下载到本地文件2.1、代码示例2.2、执行结果 3、断点续传下载3.1、代码示例3.2、执行结果 1、流式下载 当下载的文件太大或者一次性下载耗时太长时&#xff0c;您可以通过流式下载&#xff0c;一次处理部分内容&#xff0c;直到完…

热管理系统研发服务

为了适应电动化和智能化的需求&#xff0c;汽车热管理正从传统的发动机冷却和空调系统发展至电池热管理、电机电控热管理系统以及热泵空调系统&#xff0c;以实现对座舱温度、电池温度和动力总成温度的精确控制。由于新增了繁多的、控制精度要求更高的零部件&#xff0c;使得系…

《TCP/IP网络编程》阅读笔记--多线程服务器端的实现

1--多线程的优点 多进程服务器的缺点&#xff1a; ① 创建进程的过程会带来一定的开销&#xff1b; ② 为了完成进程间的数据交换&#xff0c;需要特殊的 IPC 技术&#xff1b; ③ 进程间的上下文切换是创建进程时的最大开销&#xff1b; 多线程的优点&#xff1a; ① 线程的创…

微服务架构笔记

文章目录 简介微服务架构微服务方案对比注册中心 简介 SpringCloud&#xff08;多种框架组件技术集合的总框架&#xff09;笔记 传统单体架构VS微服务分布式架构 单体架构特点? 简单方便&#xff0c;高度耦合&#xff0c;扩展性差&#xff0c;适合小型项目。例如:学生管理系…

VMware Workstation虚拟机网络配置及配置自动启动

目录 一、网络配置二、配置自动启动1.VMware 中配置虚拟机自启动2.系统服务中配置 VMware 服务自启动 一、网络配置 本文将虚拟机 IP 与主机 IP 设置为同一个网段。 点击 “编辑” -> “虚拟网络编辑器(N)…”&#xff1a; 点击 “更改设置”&#xff1a; 将 VMnet0 设置…