排序算法之选择排序的python实现

时间:2023-12-20 16:45:02

选择排序算法的工作原理如下:

1. 首先在序列中找到最小或最大元素,存放到排序序列的前或后。

2. 然后,再从剩余元素中继续寻找最小或最大元素。

3. 然后放到已排序序列的末尾。

4. 以此类推,直到所有元素均排序完毕。

例子图步骤如下:

排序算法之选择排序的python实现

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = "hsz" def select_sort(alist):
n = len(alist)
# 外层控制比较几轮
for j in range(n - 1):
min_index = j
# 内层控制元素比较和更新索引
for i in range(j + 1, n):
# 进行比较
if alist[min_index] > alist[i]: # 大于为正序 小于为倒序(小于为max_index)
# 更新索引
min_index = i
# 退出循环后,交换数据
alist[j], alist[min_index] = alist[min_index], alist[j]
# print(alist[j]) if __name__ == '__main__':
# li = [3, 11, 26, 26, 7, 3, 9, 4]
li = [26, 54, 93, 17, 31, 44, 55, 20]
# print(id(li[0]))
print(li)
select_sort(li)
print(li)
# print(id(li[0]))