发布网友 发布时间:2022-03-30 03:33
共5个回答
懂视网 时间:2022-03-30 07:55
以下用JAVA举一个例子,选择排序代码方法如下:
算法描述:对于给定的一组记录,经过第一轮比较后得到最小的记录,然后将该记录与第一个记录的位置进行交换;接着对不包括第一个记录以外的其他记录进行第二轮比较,得到最小的记录并与第二个记录进行位置交换;重复该过程,直到进行比较的记录只有一个时为止。
热心网友 时间:2022-03-30 05:03
Private Sub Command1_Click()
Dim a(1 To 10) As Integer
For i = 1 To 10
a(i) = Int(Rnd * 10)
Print a(i);
Next i
'以上十随机得出10个数
For i = 1 To 9 '这里开始是双重循环
For j = i + 1 To 10
If a(i) > a(j) Then '如果前一个数大于后一个数则交换位置
t = a(i): a(i) = a(j): a(j) = t
End If
Next j
Print a(i);
Next i
Print a(i);I等于1时 就是拿第一位和第二位比较 比较大的的数排后面 然后比较第一位和第三位 For j = i + 1
To 10 直到比较到最后一位
i=2 时也是如此 循环9次就完成排序5 3 2 7
i=1 时
J=2时 3 5 2 7
J=3时 2 5 3 7
j=4时 2 5 3 7
I=2时
j=3时 2 3 5 7扩展资料
Private Sub Command1_Click()
Dim a(10) As Integer
Dim b As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
For i = 1 To 10
a(i) = Int(Rnd * 90 + 10)
Print a(i);
Next i
PrintFor i = 1 To 9
k = i
For j = k + 1 To 10
If a(j) < a(k) Then k = j
Next j
If a(i) > a(k) Then
b = a(i)
a(i) = a(k)
a(k) = bEnd If
Next iFor i = 1 To 10
Print a(i);Next i
参考资料:百度百科 - 选择法排序
热心网友 时间:2022-03-30 06:21
假如对 5 3 2 7这四个数进行降序排列,总共需要3轮比较 即外循环的循环次数
第1轮比较:5与3比 不交换 ;5与2比 不交换; 5与7比 交换;数组变成 7 3 2 5
第2轮比较:3与2比 不交换; 3与5比 交换; 数组变成 7 5 3 2
第3轮比较:3与2比 不交换; 数组变成 7 5 3 2
热心网友 时间:2022-03-30 07:55
Private Sub Command1_Click()
Dim a(1 To 10) As Integer
For i = 1 To 10
a(i) = Int(Rnd * 10)
Print a(i);
Next i
Print
'以上十随机得出10个数
For i = 1 To 9 '这里开始是双重循环
For j = i + 1 To 10
If a(i) > a(j) Then '如果前一个数大于后一个数则交换位置
t = a(i): a(i) = a(j): a(j) = t
End If
Next j
Print a(i);
Next i
Print a(i);
End Sub
I等于1时 就是拿第一位和第二位比较 比较大的的数排后面 然后比较第一位和第三位 For j = i + 1 To 10 直到比较到最后一位
i=2 时也是如此 循环9次就完成排序
5 3 2 7
i=1 时
J=2时 3 5 2 7
J=3时 2 5 3 7
j=4时 2 5 3 7
I=2时
j=3时 2 3 5 7
热心网友 时间:2022-03-30 09:47
这叫冒泡算法
你自己按F8调试,用鼠标定位变量,查看每个变量的变化,比别人说更容易理解...