简介:
简单选择排序是指一种排序算法,在简单选择排序过程中,所需移动记录的次数比较少。最好情况下,即待排序记录初始状态就已经是正序排列了,则不需要移动记录。
方法是设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录(Ri,Ri+1,…,Rn)中找出排序码最小的记录,与第i个记录交换。执行n-1趟 后就完成了记录序列的排序。
代码实现:
def select_sort(origin_item, comp=lambda a, b : a < b):
"""简单选择排序"""
item = origin_item[:]
for i in range(len(item)-1):
min_index = i
for j in range(i+1, len(item)):
if comp(item[j], item[min_index]):
min_index = j
item[i], item[min_index] = item[min_index], item[i]
return item
def main():
item = [34, 87, 3, 48, 98, 19, 82]
result = select_sort(item)
print(result)
if __name__ == '__main__':
main()