选择排序

1.将数组元素按从小到大的顺序排列.
2.先编写一个用于找出数组中最小元素的函数
3.再使用这个函数编写选择排序算法

def findSmallest(arr):
    smallest = arr[0]   # 存储最小的值
    smallest_index = 0  # 存储最小元素的索引
    for i in range(1, len(arr)):
        if arr[i] < smallest:
            smallest = arr[i]
            smallest_index = i
    return smallest_index


def selectionSort(arr):  # 对数组进行排序
    newArr = []
    for i in range(len(arr)):
        smallest = findSmallest(arr)    # 找出数组中最小的元素
        newArr.append(arr.pop(smallest))    # 将其加入到新的数组中
    return newArr


# 算法实现排序算法
list1 = [5, 3, 6, 2, 10]
print(selectionSort(list1))

# python内置排序算法
list1 = [5, 3, 6, 2, 10]
print(sorted(list1))
print(sorted(list1, reverse=True))

你可能感兴趣的:(算法导论)