选择排序

基本思想

每一次从待排序的序列中找出最小或最大的那一个,然后存放在序列的起始位置,然后继续找第二小或第二大的那一个,存放在序列的第二个位置,知道全部待排序的数据排序完成。

python实现

#!/usr/bin/python
# encoding: utf-8

# 选择排序
def selectSort(alist):
    # 遍历的次数
    for i in range(0, len(alist)):
        # 存储的位置
        flag = i
        for j in range(i+1, len(alist)):
            # 如果比当前位置的值还要小,则更新位置
            if alist[flag] > alist[j]:
               flag = j
        # 找到最大的位置后,交换位置
        alist[flag],alist[i] = alist[i],alist[flag]

a = [5,2,1,3,7,9,8,4,6]
selectSort(a)
print(a) # [1, 2, 3, 4, 5, 6, 7, 8, 9]

你可能感兴趣的:(选择排序)