左程云算法与数据结构基础班
简单选择排序
算法思想
简单选择排序的基本思想:比较(已报名左神算法 底部评)+交换。
从待排序序列中,找到关键字最小的元素;
如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换;
从余下的 N - 1 个元素中,找出关键字最小的元素,重复(1)、(2)步,直到排序结束。
因此我们可以发现,简单选择排序也是通过两层循环实现。
第一层循环:依次遍历序列当中的每一个元素
第二层循环:将遍历得到的当前元素依次与余下的元素进行比较,符合最小元素的条件,则交换。
代码实现
# 简单选择排序def select_sort(L):#依次遍历序列中的每一个元素
for x in range(0,len(L)):#将当前位置的元素定义此轮循环当中的最小值
minimum = L[x]#将该元素与剩下的元素依次比较寻找最小元素
for i in range(x+1,len(L)): if L[i] < minimum:
temp = L[i];
L[i] = minimum;
minimum = temp#将比较后得到的真正的最小值赋值给当前位置
L[x] = minimum