前言:
排序是算法,亦是生活,无论是排序还是生活,只有自己亲身去体会才会知道它是多么地美好!
度娘眼中的选择排序:
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)
我眼中的选择排序:
假设某个数是最大(小)的,然后依次和其他数进行比较,找出真正最大的!
跳舞视频:
实例:
以下为我依据选择排序将(7 8 5 8 6 9 4 1)从小到大进行了排序:
解析:
1.先假设7是最小的
2.让7和后一个数2比较,2比7小,2和7交换位置,现在2就换到了7原来所在的位置
3.现在假设2是最小的
4.让2依次和5 8 6 9 4 1做比较,发现1比2小,所以1和2交换位置
5.现在假设7是最小的
......
如上过程中,选出假设最大的这个数的过程进行的是外循环,让2依次和5 8 6 9 4 1做比较的这个过程进行的是内循环
核心部分代码展示:
For i = 1 To 7 '外循环
For j = i + 1 To 8 '内循环
If a(i) > a(j) Then '如果前一个数大于后一个数
t = a(i): a(i) = a(j): a(j) = t '两个数的位置进行互换
End If
Next j
Next i
未完待续~~