0.介绍
选择排序算法的基本思想是每次循环中找到一个最小的数放到最前
动图表示如下
1.代码实现
def selection_sort(arr):
for i in range(len(arr) - 1):
min_index = i
for j in range(i + 1, len(arr)):
if arr[j] < arr[min_index]:
min_index = j
if i != min_index:
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
完整代码
import random
def selection_sort(arr):
for i in range(len(arr) - 1):
min_index = i
for j in range(i + 1, len(arr)):
if arr[j] < arr[min_index]:
min_index = j
if i != min_index:
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
def main():
arr = []
for _ in range(10):
arr.append(random.randint(1, 100))
print("-" * 15 + "before sorted" + "-" * 15)
print(arr)
arr = selection_sort(arr)
print("-" * 15 + "after sorted " + "-" * 15)
print(arr)
if __name__ == "__main__":
main()
运行结果