python选择排序从⼤到⼩_Python初级排序算法——选择排序
(⼀)
选择排序是⼀种最简单的排序算法,⾸先,到数组中最⼩的那个元素,将它和数组的第⼀个元素交换位置(如果第⼀个元素就是最⼩元素,那么它就和⾃⼰交换),再次,在剩下的元素中到最⼩的元素,将它与数组的第⼆个元素交换位置。如此往复,直到将整个数组排序。它不断地选择剩余元素之中的最⼩者。
对于长度为
选择排序⽰意图
Python代码如下:
import random
def selectSort(arr):
N = len(arr)
for i in range(N):
min = ipython获取数组长度
#在剩下的元素中到最⼩的元素
for j in range(i+1,N):
if arr[j] < arr[min]:
min = j
#交换位置
arr[i],arr[min] = arr[min],arr[i]
return arr
a = [i for i in range(1,11)]
#随机排列a
random.shuffle(a)
print(a)
print(selectSort(a))
#打印结果
[8, 2, 9, 3, 1, 4, 7, 10, 5, 6]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
总的来说,选择排序是⼀种很容易理解和实现的简单排序算法,它有两个很鲜明的特点。
运⾏时间和输⼊⽆关。为了出最⼩的元素⽽扫描⼀遍数组并不能为下⼀遍扫描提供什么信息。这种性质在某些情况下是缺点,因为使⽤运⾏时间和输⼊⽆关。
选择排序的⼈可能会惊讶的发现,⼀个已经有序的数组或是主键全部相等的数组和⼀个元素随机排列的数组所⽤的排序时间竟然⼀样长。数据移动是最少的。
数据移动是最少的。每次交换都会改变两个数组元素的值,因此选择排序⽤了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。