python选择排序算法的实现代码

yipeiwu_com5年前Python基础

1.算法:
对于一组关键字{K1,K2,…,Kn}, 首先从K1,K2,…,Kn中选择最小值,假如它是 Kz,则将Kz与 K1对换;
然后从K2,K3,… ,Kn中选择最小值 Kz,再将Kz与K2对换。
如此进行选择和调换n-2趟,第(n-1)趟,从Kn-1、Kn中选择最小值 Kz将Kz与Kn-1对换,最后剩下的就是该序列中的最大值,一个由小到大的有序序列就这样形成。

2.python 选择排序代码:

复制代码 代码如下:

def selection_sort(list2):
    for i in range(0, len (list2)):
        min = i
        for j in range(i + 1, len(list2)):
            if list2[j] < list2[min]:
                min = j
        list2[i], list2[min] = list2[min], list2[i]  # swap

结果为:[2, 3, 4, 21, 33, 44, 45, 67]

相关文章

django-rest-framework 自定义swagger过程详解

django-rest-framework 自定义swagger过程详解

前言 之前的文章编写了一个返回json的例子,直接用浏览器进行get请求虽然成功了, 但是接口文档的样式很难看, 不好用. 而且提示没有访问权限. 我们一般都希望能够直接在接口文档中...

使用优化器来提升Python程序的执行效率的教程

如果不首先想想这句Knuth的名言,就开始进行优化工作是不明智的。可是,你很快写出来加入一些特性的代码,可能会很丑陋,你需要注意了。这篇文章就是为这时候准备的。 那么接下来就是一些很有用...

python下函数参数的传递(参数带星号的说明)

函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析先看第一个问题,在python中函数参数的定义主要有四种方式: 1.F(arg1,ar...

Python 继承,重写,super()调用父类方法操作示例

Python 继承,重写,super()调用父类方法操作示例

本文实例讲述了Python 继承,重写,super()调用父类方法操作。分享给大家供大家参考,具体如下: demo.py(继承,重写,super): # 父类 class Dog:...

树莓派与PC端在局域网内运用python实现即时通讯

电脑和树莓派在同一局域网内,先在电脑和树莓派创建python运行环境,然后在树莓派中用python运行rpi.py;在电脑上运行computer.py;电脑上输入字符即可在树莓派上即时显...