两种常见排序算法
来源:互联网 发布:北京师范学校网络教育 编辑:程序博客网 时间:2024/05/22 01:31
上次米老师上课,讲那个排序找最大的例子,他当场让我们用语言描述或是写代码,可是描述完全的人没有几个。想想为什么学了那么长时间的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
- 两种常见排序算法
- 快速排序-两种常见的划分
- 两种C 常见排序方法
- 两种排序算法,java
- 几种常见排序算法
- 几种常见排序算法
- 常见排序算法汇种
- 几种常见排序算法
- 【算法】九种常见排序
- 几种常见排序算法
- 几种常见排序算法
- 十种常见排序算法
- 几种常见排序算法
- 几种常见排序算法
- 几种常见排序算法
- 八种常见排序算法
- 十种常见排序算法
- 常见几种排序算法
- 关于除法运算的比较
- 如何实现页面静态化:
- vb.net CPU & RAM 显示程序
- DirectX 3D_实践之在DirectX3D中实现摄像机方位的动态变换
- CentOS下安装Oracle 10g--上
- 两种常见排序算法
- CRM2011资源管理器
- 插入排序 (Insert Sort)
- 重新想象 Windows 8 Store Apps (34)
- 424 - Integer Inquiry
- 好的软件人员必看的60本书
- 通过Web用户控件实现注册(用委托方法)
- 2009年以来我买过的书(部分)
- uva 10635 - Prince and Princess