VBScript 数组排序算法298


在 VBScript 中,可以使用多种算法对数组进行排序。常见的算法包括:

冒泡排序

冒泡排序是一种简单而高效的算法,适用于小型数组。它通过不断比较相邻元素并交换位置,将最大元素逐渐移动到数组末尾。冒泡排序算法如下:```vbscript
Function BubbleSort(arr)
Dim i, j, tmp
For i = 0 To UBound(arr) - 1
For j = i + 1 To UBound(arr)
If arr(j) < arr(i) Then
tmp = arr(i)
arr(i) = arr(j)
arr(j) = tmp
End If
Next
Next
End Function
```

选择排序

选择排序是一种比较排序算法,它通过选择数组中最小元素并将其与第一个元素交换,依次将元素排序。选择排序算法如下:```vbscript
Function SelectionSort(arr)
Dim i, j, minIdx
For i = 0 To UBound(arr) - 1
minIdx = i
For j = i + 1 To UBound(arr)
If arr(j) < arr(minIdx) Then minIdx = j
Next
If minIdx i Then
tmp = arr(i)
arr(i) = arr(minIdx)
arr(minIdx) = tmp
End If
Next
End Function
```

插入排序

插入排序是一种简单有效的算法,适用于部分有序或几乎有序的数组。它通过将当前元素插入到已排序子数组的正确位置,逐个元素进行排序。插入排序算法如下:```vbscript
Function InsertionSort(arr)
Dim i, key, j
For i = 1 To UBound(arr)
key = arr(i)
j = i - 1
While j >= 0 And key < arr(j)
arr(j + 1) = arr(j)
j = j - 1
Wend
arr(j + 1) = key
Next
End Function
```

快速排序

快速排序是一种分治算法,它是大多数情况下最快的排序算法。它通过选择一个基准元素,将数组分成两个子数组,然后递归地应用算法对子数组进行排序。快速排序算法如下:```vbscript
Function QuickSort(arr, left, right)
If left < right Then
Dim pivot = arr(right)
Dim partitionIndex = Partition(arr, left, right, pivot)
QuickSort arr, left, partitionIndex - 1
QuickSort arr, partitionIndex + 1, right
End If
End Function
Function Partition(arr, left, right, pivot)
Dim i = left - 1
For j = left To right - 1
If arr(j)

2024-12-20


上一篇:VBScript 教程免费下载:掌握脚本语言的权威指南

下一篇:VBScript 多线程代码实现延时功能