两种常见排序算法

前端之家收集整理的这篇文章主要介绍了两种常见排序算法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

上次米老师上课,讲那个排序找最大的例子,他当场让我们用语言描述或是写代码,可是描述完全的人没有几个。想想为什么学了那么长时间的VB却连一个小例子都不能完整写出来。就是缺乏知识总结,就像米老师说的,每次听完课,感觉自己懂了,不去总结,导致懂的那一点点也不懂了。
昨晚,翻开书看看那个例子,看到排序的两种方法:选择排序和冒泡排序,米老师以前上课讲过这两种排序,但是听过了没总结,导致自己又花时间重新看了这个。这次要好好总结了。
以产生不相等的10个整数且从大到小排序为例。


选择排序
整体思路:
1.定义一个数组a()用来盛放这10个数

2.找10个数里的最大值,依次与剩下的9个数进行比较,将最大的放在a(1).

3.在剩下的9个数里找最大,依次与剩下的8个数进行比较,将最大值放在a(2).

4.按照这样一直比较下去.

5.最后一轮就剩下两个数比较大小,将大数放在a(9).小数放在a(10).这样10个数就排序完成了。

代码

'从大到小排序

Dim a() As Integer

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
Next i


冒泡排序

整体思路:
1.定义一个数组a()用来盛放这10个数

2.两个相邻的数进行比较,大数前移,小数后移。
3.继续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
4.每进行一轮,将产生一个最小值,第一轮最小值放在a(10),第二轮最小值放在a(9),依次进行下去,10个数就从大到小排序了。

代码
Dim a() As Integer

For i = 1 To 9'比较大小 For j = 1 To 10 - i If a(j) < a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t End If Next j Next i

原文链接:https://www.f2er.com/vb/258781.html

猜你在找的VB相关文章