Python实现选择排序

作者:TingShuo 时间:2021-06-17 03:23:40 

选择排序:

选择排序(Selection sort)是一种简单直观的 排序算法 。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。

Python 实现:


# selection_sort.py
def selection_sort(arr):
  count = len(arr)
  for i in range(count-1):  # 交换 n-1 次
    min = i
    # 找最小数
    for j in range(i, count):
      if arr[min] > arr[j]:
        min = j
    arr[min], arr[i] = arr[i], arr[min]  # 交换
  return arr

my_list = [6, 23, 2, 54, 12, 6, 8, 100]
print(selection_sort(my_list))

来源:http://www.cnblogs.com/tingshuo123/p/6935445.html

标签:Python,选择排序
0
投稿

猜你喜欢

  • 使用access数据库时可能用到的数据转换

    2008-09-10 12:49:00
  • python爬虫实战之爬取京东商城实例教程

    2022-05-11 05:33:23
  • python回归分析逻辑斯蒂模型之多分类任务详解

    2021-08-01 11:54:15
  • 详解Python的单元测试

    2021-11-22 14:53:57
  • 一文教你如何用Python轻轻松松操作Excel,Word,CSV

    2021-11-20 22:47:52
  • MySQL的InnoDB存储引擎的数据页结构详解

    2024-01-14 01:23:27
  • 运维角度浅谈MySQL数据库优化(李振良)

    2024-01-22 17:27:01
  • Python中常见的数制转换有哪些

    2021-05-27 11:12:21
  • Yii框架引用插件和ckeditor中body与P标签去除的方法

    2024-05-11 09:25:19
  • Sql Server “因为文件组primary已满,未能为数据库XX对象XX分配空间”问题的解决

    2010-05-16 21:27:00
  • mysql中#{}和${}的区别详解

    2024-01-12 21:37:17
  • 使用tensorflow框架在Colab上跑通猫狗识别代码

    2022-04-27 04:43:39
  • Firebug 必须掌握的技巧

    2009-12-21 20:04:00
  • Python 文件读写操作实例详解

    2023-08-04 10:41:53
  • python requests.post请求404问题及解决方法

    2022-08-16 09:36:23
  • XML简易教程之四

    2008-09-05 17:19:00
  • PHP 页面跳转到另一个页面的多种方法方法总结

    2023-06-14 21:05:49
  • 用Python编写个解释器实现方法接受

    2023-01-11 15:50:08
  • sqlserver 索引的一些总结

    2012-08-21 11:03:31
  • ASP中 ADODB.Stream 语法速查

    2008-01-27 15:23:00
  • asp之家 网络编程 m.aspxhome.com