
def selection_sort(arr):
“””
选择排序函数
:param arr: 待排序列表
:return: 排序后的列表
“””
n = len(arr) # 获取列表长度
for i in range(n): # 遍历列表
# 记录最小值的下标,默认为当前位置
min_index = i
for j in range(i + 1, n): # 在i+1到n范围内寻找最小值
if arr[j] < arr[min_index]: # 如果找到更小的值,则更新最小值的下标
min_index = j
# 交换当前位置和最小值的位置
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr # 返回排序后的列表
# 测试示例
if __name__ == ‘__main__’:
arr = [64, 25, 12, 22, 11]
sorted_arr = selection_sort(arr)
print(“排序后的列表:”, sorted_arr)
选择排序的思想是每次从未排序的部分选出一个最小(或最大)的元素,放在已排序部分的最后面,直到所有元素排序完成。在选择排序中,我们需要遍历整个列表,寻找最小值的位置,然后交换当前位置和最小值的位置。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/80988
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!