The Selection Sorting Algorithm in VBScript
- 时间:2020-09-17 14:26:24
- 分类:网络文摘
- 阅读:104 次
The selection sort, similar to insertion sort, is one of the simple sorting algorithm that has O(N^2) time complexity. The selection sorting algorithm is quadratic, thus not efficient when the items to sort is large.
The selection sort works by choosing a minimal element in the unsorted list and append the element to the sorted list – which is done by swapping the element beyond the end of the sorted part.
For example, given the array: [3, 5, 2, 6, 1, 3, 4, 6, 9], we can simulate the Selection Sort algorithm in the following process:
1 2 3 4 5 6 7 8 9 10 | Sorted: [] Unsorted: [3, 5, 2, 6, 1, 3, 4, 6, 9] // min = 1 in the Unsorted Sorted: [1, ] Unsorted: [3, 5, 2, 6, 3, 4, 6, 9] // min = 2 in the Unsorted Sorted: [1, 2] Unsorted: [3, 5, 6, 3, 4, 6, 9] // min = 3 in the Unsorted Sorted: [1, 2, 3] Unsorted: [5, 6, 3, 4, 6, 9] // min = 3 in the Unsorted Sorted: [1, 2, 3, 3] Unsorted: [5, 6, 4, 6, 9] // min = 4 in the Unsorted Sorted: [1, 2, 3, 3, 4] Unsorted: [5, 6, 6, 9] // min = 5 in the Unsorted Sorted: [1, 2, 3, 3, 4, 5] Unsorted: [6, 6, 9] // min = 6 in the Unsorted Sorted: [1, 2, 3, 3, 4, 5, 6] Unsorted: [6, 9] // min = 6 in the Unsorted Sorted: [1, 2, 3, 3, 4, 5, 6, 6] Unsorted: [9] // min = 9 in the Unsorted Sorted: [1, 2, 3, 3, 4, 5, 6, 6, 9] Unsorted: [] // Done. |
Sorted: [] Unsorted: [3, 5, 2, 6, 1, 3, 4, 6, 9] // min = 1 in the Unsorted Sorted: [1, ] Unsorted: [3, 5, 2, 6, 3, 4, 6, 9] // min = 2 in the Unsorted Sorted: [1, 2] Unsorted: [3, 5, 6, 3, 4, 6, 9] // min = 3 in the Unsorted Sorted: [1, 2, 3] Unsorted: [5, 6, 3, 4, 6, 9] // min = 3 in the Unsorted Sorted: [1, 2, 3, 3] Unsorted: [5, 6, 4, 6, 9] // min = 4 in the Unsorted Sorted: [1, 2, 3, 3, 4] Unsorted: [5, 6, 6, 9] // min = 5 in the Unsorted Sorted: [1, 2, 3, 3, 4, 5] Unsorted: [6, 6, 9] // min = 6 in the Unsorted Sorted: [1, 2, 3, 3, 4, 5, 6] Unsorted: [6, 9] // min = 6 in the Unsorted Sorted: [1, 2, 3, 3, 4, 5, 6, 6] Unsorted: [9] // min = 9 in the Unsorted Sorted: [1, 2, 3, 3, 4, 5, 6, 6, 9] Unsorted: [] // Done.
Translating to VBScript, we have the following Selection Sorting Algorithm:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | Dim Nums: Nums = Array(3, 5, 2, 6, 1, 3, 4, 6, 9) Sub SelectionSort(ByRef Nums) For i = LBound(Nums) To UBound(Nums) - 1 Dim min: min = i For j = i + 1 To UBound(Nums) If Nums(j) < Nums(min) Then min = j End If Next If min <> i Then Dim t: t = Nums(min) Nums(min) = Nums(i) Nums(i) = t End If Next End Sub SelectionSort Nums For i = LBound(Nums) To UBound(Nums) WScript.Echo Nums(i) Next |
Dim Nums: Nums = Array(3, 5, 2, 6, 1, 3, 4, 6, 9) Sub SelectionSort(ByRef Nums) For i = LBound(Nums) To UBound(Nums) - 1 Dim min: min = i For j = i + 1 To UBound(Nums) If Nums(j) < Nums(min) Then min = j End If Next If min <> i Then Dim t: t = Nums(min) Nums(min) = Nums(i) Nums(i) = t End If Next End Sub SelectionSort Nums For i = LBound(Nums) To UBound(Nums) WScript.Echo Nums(i) Next
One advantage of Selection Sorting Algorithm is that it has at most (n-1) swaps when sorting n elements.
--EOF (The Ultimate Computing & Technology Blog) --
推荐阅读:Amazon Email Scam Has Consumers On High Alert Department Of Justice Announces ‘Hack The Army’ Program 7 Things You Must Do After Installing Your WordPress Site New Report Discovers Disconnect Between Retailers And Social Med Counting the Prime Arrangements The Minimum Absolute Difference Algorithm of an Array Implement the Depth First Search Algorithm in Graph using Simple Beginner’s Introduction to PHP Memcached Using the Regular Expression to Replace External Links in WordPr 5 Smart Guides In Taking The Best Hosting Provider
- 评论列表
-
- 添加评论