目录
1.首先
2.环境
3. 使用的数组
4. 什么是选择排序?
4-1. 分拣流程
4-2. 最终代码
五、总结
6. 参考
7. 最后
1.首先
我的老板曾经要求我使用“选择排序”和“冒泡排序”对数组进行排序作为家庭作业。
“排序 = 按顺序重新排列 ID 的东西”这是我的印象,所以我很惊讶有不同类型的排序和不同的处理速度。
这一次,我想根据当时的备忘录来组织选择排序。
2.环境
- windows 10 版本 21H2
- 微软-IIS 10.0
- ASP 5.8 (16384)
3. 使用的数组
我想按升序(1,2,...,10)对下面的数组进行排序。
▼代码
'# 配列と変数の宣言
Dim arrNum : arrNum = Array(3,4,2,8,7,5,9,6,10,1)
Dim i,tmp
'# 選択ソート前の配列
For i = 0 To UBound( arrNum )
tmp = join(arrNum, ",")
Next
'#カンマで結合した配列を出力
Response.Write tmp '# 3,4,2,...
UBound函数:可以得到数组索引的最大值
4. 什么是选择排序?
选择排序(基本选择方法)和更多报价
选择排序是一种从目标数据中寻找最小值(或最大值),将其替换为最大值,并重复此过程对整个数据进行排序的方法。
如果您在最后一个元素之前执行此操作,则最后一个元素将被固定并且整体将对齐。
4-1. 分拣流程
选择排序有两件事要做:
①求最小值
②替换为第 i 个①求最小值
假设最小值为
m_indexth,则与从下一个元素(m_index + 1)到最后一个数组中具有最大值的元素(UBound( 配列 ))的其他元素进行比较。如果
jth 元素小于m_indexth 元素,则该元素成为最小值,因此最小值的位置发生变化并变为m_index = j。Dim j m_index = i '# 最小値の場所(m_index番目を最小とみなす) For j = i + 1 To UBound( arrNum ) If arrNum( m_index ) > arrNum(j) Then m_index = j End If Next②替换为第 i 个
由于我们能够在①中找到最小值,我们将用第 i 个值替换最小值。
If m_index <> i Then tmp = arrNum(i) arrNum(i) = arrNum(m_index) arrNum(m_index) = tmp End If这次为了更换两件东西,是准备三个盒子并更换的形象。
4-2. 最终代码
这是最终的代码。
<%@ Language = VBScript codepage = 65001 %> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <% Dim arrNum : arrNum = Array(3,4,2,8,7,5,9,6,10,1) Dim tmp Dim i, j, m_index '# 選択ソート前 For i = 0 To UBound( arrNum ) tmp = join(arrNum, ",") Next Response.Write tmp & "<br />" '# 3,4,2,... For i = 0 To UBound( arrNum ) - 1 '# m_index番目以降の最小値がどこにあるのかを探す m_index = i '# 最小値の場所(m_index番目を最小とみなす) For j = i + 1 To UBound( arrNum ) If arrNum( m_index ) > arrNum(j) Then m_index = j End If Next If m_index <> i Then '# 配列のi番目とm_index番目を入れ替える tmp = arrNum(i) arrNum(i) = arrNum(m_index) arrNum(m_index) = tmp End If Next '# 選択ソート後 For i = 0 To UBound( arrNum ) tmp = join(arrNum, ",") Next Response.Write tmp & "<br />" '# 1,2,3,...,10 %>五、总结
这一次,排序是使用 VBScript 作为选择排序完成的。
我想继续了解“分解我想做的事情并将其放入代码中”。
我打算组织其他方法,所以如果你能一起阅读,我将不胜感激。
6. 参考
7. 最后
如果有任何错误或意见,请告诉我。
感谢您的阅读。
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308626428.html