网站大量收购闲置独家精品文档,联系QQ:2885784924

VB_常考算法的过程表示..doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VB_常考算法的过程表示.

常考算法的过程表示 过程程序的编制方法 首先确定用函数过程还是SUB过程 实际上过程是一个具有某种功能的独立程序单位,供多次调用。子过程与函数过程的区别是:前者子过程名无值,后者函数过程名有值。若过程有一个返回值,则习惯使用函数过程;若过程无返回值,则使用子过程。若过程有多个返回值,一般使用子过程,通过实参与形参的结合带回结果。 列出过程的框架 函数过程的框架 Function函数过程名([形参表]) … 函数过程名=表达式 … End Function 子过程的框架 Sub子过程名[(形参表)] … End Sub 确定过程的虚参和虚参类型 过程中参数的作用是实现过程与调用者的数据通信。一方面,调用者为子过程或函数过程提供初值,这是通过实参传递给形参实现的。另一方面,子过程或函数过程将结果传递给调用者,这是通过地址传递方式实现的。当实参要得到返回的结果时,实参只能是变量,不能是常数或表达式。当实参为数组时只能是地址传递方式。在地址传递方式时,调用过程的实参与形参类型要一致 确定过程算法 注:下面仅是一些算法的常规表示,也可以采用其他方法实现,完成任务是首要的。还有其他一些未列出的算法,同学们也可以尝试自己编写。 一、排序算法 1.编一个排序的sub子程序。要求用选择法对数组A进行排序。 Private Sub sort(a() As Integer) For i = 1 To UBound(a) imin = i For j = i + 1 To UBound(a) If a(j) a(imin) Then imin = j Next j t = a(i) a(i) = a(imin) a(imin) = t Next I End Sub 2.编一个排序的sub子程序。要求用冒泡法对数组A进行排序。 private Sub sort(a() As Integer) For i = 1 To UBound(a) - 1 For j = 1 To UBound(a) - i If a(j) a(j + 1) Then t = a(j) a(j) = a(j + 1) a(j + 1) = t End If Next j Next I End Sub 查找 1.二分法查找,递归。在数组a(数据自小到大排列)中查找值key,找不到index的值为-1,找到index的值为key的位置 Sub biresearch(a() As Variant, ByVal low%, ByVal high%, ByVal key As Variant, 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 biresearch(a, low, high, key, index) 递归调用查找过程 End Sub 2.二分法查找,循环。在数组a中查找B的位置。 Function Search2(a() As Integer, b As Integer) As Integer Dim m As Integer, n As Integer, int1 As Integer m = LBound(a) n = UBound(a) search2=-1 Do int1 = (m +n) \ 2 得到中间元素的下标 If b a(int1

文档评论(0)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档