题目:进行选择排序。
分析:类比:一堆大小不一得球中进行选择(以小到大,先选最小球为例)
(1)选择一个基准球。
(2)将基础球和余下的球进行一一比较,如果基准球小,则进行交换。
(3)第一轮过后获得最小的球。
(4)在挑一个基础球,执行相同的动作得到次小的球。
(5)继续执行4,直到排序号。
code:
def select_sort(lists):
# 选择排序
count = len(lists)
i = 0
while i < count:
min = i
for j in range(i + 1, count):
if lists[min] > lists[j]:
min = j
lists[min], lists[i] = lists[i], lists[min]
i += 1
return lists
if __name__ == "__main__":
lists = [3, 4, 2, 8, 9, 5, 1]
print(select_sort(lists))