欢迎光临散文网 会员登陆 & 注册

python排序算法-(2)选择排序

2023-06-17 07:32 作者:仿真资料吧  | 我要投稿

选择排序是一种简单直观的排序算法,工作原理如下: 首先在未排序的数据序列中找到最小(大)元素,存放到排序序列起始位置, 然后再从剩余未排序元素中继续寻找最小(大)元素, 然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

import random

# 选择排序
def selectionSort(array):
     n = len(array)
     for ind in range(n):
            # 在未排序的部分中寻找最小的元素
            min_index = ind
            for j in range(ind + 1, n):
                 if array[j] < array[min_index]:
                     min_index = j
            # 将元素交换以排列数组
            (array[ind], array[min_index]) = (array[min_index], array[ind])

# 测试
array=random.sample(range(0, 100), 50)
print("原始数组为:")
print(array)

selectionSort(array)

print('经选择排序后的数组为:')
print(array)

运行环境:python3.8

运行结果:

原始数组为:

[59, 4, 97, 8, 84, 28, 95, 68, 44, 85, 71, 69, 21, 41, 88, 60, 78, 52, 79, 65, 10, 1, 93, 32, 96, 5, 23, 49, 45, 87, 46, 15, 42, 57, 26, 75, 35, 33, 12, 89, 39, 43, 9, 40, 77, 19, 22, 7, 86, 80]

经选择排序后的数组为:

[1, 4, 5, 7, 8, 9, 10, 12, 15, 19, 21, 22, 23, 26, 28, 32, 33, 35, 39, 40, 41, 42, 43, 44, 45, 46, 49, 52, 57, 59, 60, 65, 68, 69, 71, 75, 77, 78, 79, 80, 84, 85, 86, 87, 88, 89, 93, 95, 96, 97]



python排序算法-(2)选择排序的评论 (共 条)

分享到微博请遵守国家法律