⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 二分法查找.frm

📁 蒋加伏主编VB程序设计第四版PPT及全部课本源码 北京邮电大学出版社 Visual Basic 程序设计教程(第四版) 主编 蒋加伏 张林峰 找了好久的(不带密码的)
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "例[8-16]二分法查找数组元素"
   ClientHeight    =   3405
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   5415
   LinkTopic       =   "Form1"
   ScaleHeight     =   3405
   ScaleWidth      =   5415
   StartUpPosition =   3  'Windows Default
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Form_Click()
  Dim b()
  Cls
  b = Array(5, 11, 23, 27, 29, 32, 38, 43, 58, 77, 89)
  For i = 0 To UBound(b)            '输出数组元素
    Print b(i);
  Next i
  Print
  k = Val(InputBox("请输入关键值:"))
  Call search(b(), LBound(b), UBound(b), k, m%)  '调用子程序查找
  If m <> -1 Then                       '下标返回值不为-1,查找成功
    Print Spc(2); "查找元素的下标为:"; m
  Else                                  '下标返回值为-1,查找失败
    Print Spc(2); "无该元素"
  End If
End Sub

Sub search(a(), ByVal low%, ByVal high%, ByVal key, index%)
  Dim mid As Integer
  mid = (low + high) \ 2              '取查找区间的中点
  If a(mid) = key Then
    index = mid                       '查找到,返回查找到的下标
    Exit Sub
  ElseIf low > high Then              '二分法查找区间没有元素,查找不到
    index = -1
    Exit Sub
  End If
  If key < a(mid) Then                '查找区间在上半部
    high = mid - 1
  Else
    low = mid + 1                     '查找区间在下半部
  End If
  Call search(a(), low, high, key, index) '递归调用查找函数
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -