网站首页 > 基础教程 正文
Python数据结构与算法(13)---选择排序 24/100 发布文章 liyuanjinglyj 未选择任何文件
选择排序
选择排序,英文称为Selection Sort,它是另外一种简单的排序算法。在数据集合中,通过一轮的新循环找到最小值,把它放到第一个位置,然后在剩余的数据中再找最小值,放到第二个位置,直到所有排序完成。
选择排序原理
假设,Python有一个n个元素的列表。那么实现步骤分为3步骤:
1.外层开启0到n-1的循环2.每轮循环记住最小值的下标,循环完成后,将值放在最前面3.接着继续循环,标记最小值的下标,最后把最小值放到当前循环开始的位置,依次类推。4.直到n-1论,结束所有最小值的选择。
具体的图解如下,假设我们的列表元素为[8,0,4,3,2,1],那么它会循环n-1次,也就是5次,示例如下:
第1次循环结果:
第2次循环结果:
第3次循环结果:
其实到第3次循环我们已经得到了排序的最终结果,但是选择排序还是会继续比较2次,只是这2次不会换任何数据。
Python实现选择排序
既然,我们已经讲解了原理,也通过图例完美阐述了选择排序的步骤。下面,我们就来通过Python代码来实现选择排序算法,代码如下:
s_list = [8, 0, 4, 3, 2, 1]
print("排序之前的结果:", s_list)
for i in range(0, len(s_list)):
x = i
for j in range(i, len(s_list) - 1):
if s_list[x] > s_list[j + 1]:
x = j + 1
temp = s_list[x]
s_list[x] = s_list[i]
s_list[i] = temp
print("排序之后的结果:", s_list)
运行之后,效果如下:
猜你喜欢
- 2025-01-06 Python:pandas的DataFrame如何按指定list排序
- 2025-01-06 用Python实现列表排序,给定列表并进行升序降序排序(第一节)
- 2025-01-06 Python版的迷你程序——快速排序
- 2025-01-06 10个小技巧,让你的 Python 代码更加优雅
- 2025-01-06 算法浅谈——分治算法与归并、快速排序(附代码和动图演示)
- 2025-01-06 使用 Python 的sorted()函数对复杂可迭代对象进行排序
- 2025-01-06 一行Python代码:10个利用sort()函数解决复杂问题的案例
- 01-07Python从入门到放弃-详解列表、元组和字典
- 01-07python 中字典如何进行复制
- 01-07python入门023:字典嵌套
- 01-07掌握Python字典的12个例子
- 01-07使用Python 获取多级字典(Json)格式所有Key、Value
- 01-07简单学Python——字典的操作1(增加、更改和删除字典元素)
- 01-07Python之容器拾遗:Python就是包裹在一堆语法糖中的字典
- 01-07深入了解python字典的有序特性
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)