选择排序

  选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第二个5后面)

import random
nums = []
for i in range(1000):
nums.append(random.randint(0, 1000))
print("原始数据: " + str(nums))
# ---------------------选择排序----------------------------
min_idx = None
for index in range(len(nums)):
min_num = nums[index]
min_idx = index
for idx in range(index, len(nums)):
if nums[idx] < min_num:
min_num = nums[idx]
min_idx = idx
nums[index], nums[min_idx] = nums[min_idx], nums[index]
# ---------------------------------------------------------
print("排序之后: " + str(nums))

选择排序

最新文章

  1. hibernate多对一单向关联
  2. 302 Moved Temporarily
  3. HTML5新增video标签及对应属性、API详解
  4. Bootstrap Paginator 分页插件参数介绍及使用
  5. 使用Path语法取得对象的值
  6. kill -9 和kill
  7. POJ 2837 Til the Cows Come Home
  8. python中的类型转换
  9. PAT 1006
  10. Java 字符转码之UTF-8转为GBK/GB2312
  11. [DEncrypt] Encrypt--加密/解密/MD5加密 (转载)
  12. c++ split模板实现
  13. Thrift之TProtocol系列TBinaryProtocol解析
  14. JAVAEE企业级应用开发浅谈之MVC 中的V-VIEW视图
  15. Azure 中 Windows 虚拟机的大小
  16. intellij IDEA软件java项目No SDK配置jdk开发,安装IDEA软件步骤
  17. JAXB--@XmlElementWrapper注解和泛型一起使用
  18. 《FPGA全程进阶---实战演练》第四章之Quartus II使用技巧
  19. 消息成功失败回调demo
  20. 【Node.js】一个愚蠢的Try Catch过错

热门文章

  1. python调用大漠插件教程02大漠插件绑定测试工具
  2. 使用 Typora 编辑器运用 Markdown 的语法编写文档
  3. 如何提交本地代码到git仓库
  4. css背景图定位和浮动
  5. Java实现 LeetCode 831 隐藏个人信息(暴力)
  6. Java实现 LeetCode 743 网络延迟时间(Dijkstra经典例题)
  7. Java实现 LeetCode 719 找出第 k 小的距离对(二分搜索法+二分猜数字)
  8. Java实现 蓝桥杯VIP 算法提高 阶乘差
  9. Java实现LeetCode_0020_ValidParentheses
  10. Java实现猜底牌问题(贪婪法)