VBA实现的数组快速排序

分类:代码, 博客 标签:

下面的VBA代码实现了快速排序算法,可以对一个数组进行排序。数组元素的类型可以是数值或者字符串,实行排序后,原输入数组便会按照要求排好序,这意味着这个函数会对原数组修改。QSortInPlace函数可以对数值或者字符串数组按要求升序或者降序进行排列。QSortInPlace的原型声明如下:

Public Function QSortInPlace( _
    ByRef InputArray As Variant, _
    Optional ByVal LB As Long = -1&, _
    Optional ByVal UB As Long = -1&, _
    Optional ByVal Descending As Boolean = False, _
    Optional ByVal CompareMode As VbCompareMethod = vbTextCompare, _
    Optional ByVal NoAlerts As Boolean = False) As Boolean

函数各参数意义如下:

InputArray: 待排序的数组。

LB: 需要排序的第一个元素索引,-1表示从数组默认的第一个元素。

UB: 需要排序的最后元素索引,-1表示从数组默认的最后一个元素。

Descending: 如果输入False或者忽略则按照升序排列,输入True按照降序进行排列。

CompareMode: 可以指定是否依据大小写来进行字符串的比较。

NoAlerts: 出现错误时是否会提示。

QSortInPlace在对数组成功排序后返回True,如果发生错误返回False。

具体VBA代码模块

点击下载:VBA快速排序数组模块源代码 (2435)



分类:代码, 博客 标签:

发表评论

You must be logged in to post a comment.