博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
11.排序算法_4_选择排序
阅读量:6860 次
发布时间:2019-06-26

本文共 772 字,大约阅读时间需要 2 分钟。

  hot3.png

时间复杂度是程序运行的时间,也可以说是次数;

空间复杂度是程序占用的空间;

4.选择排序

#!/usr/bin/python# coding:utf8"""选择排序和冒泡排序的区别在于:选择排序的前提是:找到最大值的位置,最后才进行1次交换而冒泡排序:相邻的值进行交换,一共进行n次交换"""def selection_sort(l):    length = len(l)-1        while length:        index = length        # 第一个数字,和后面每一个数字进行对比        for j in range(length):            if l[j] > l[index]:                index = j        l[length], l[index] = l[index], l[length]        print len(l)-length, l        length -= 1if __name__=="__main__":    l = [5, 1, 9, 3, 2, 7]    print l    selection_sort(l)    print("result: " + str(l))

结果:

[5, 1, 9, 3, 2, 7]1 [5, 1, 7, 3, 2, 9]2 [5, 1, 2, 3, 7, 9]3 [3, 1, 2, 5, 7, 9]4 [2, 1, 3, 5, 7, 9]5 [1, 2, 3, 5, 7, 9]result: [1, 2, 3, 5, 7, 9][Finished in 0.0s]

转载于:https://my.oschina.net/repine/blog/695007

你可能感兴趣的文章
Extjs甘特图开发指南之高级应用
查看>>
Call判断正在通话
查看>>
三星手机 com.android.phone意外终止 解决方案
查看>>
php 随着等级越高经验值越多 代码
查看>>
hive数据抽样
查看>>
centos7 下nginx的yum安装
查看>>
gradle multi-project
查看>>
iOS开发工具-网络封包分析工具Charles
查看>>
RandomStringUtils的说明和生成随机汉字
查看>>
10个酷毙的Linux单行命令!
查看>>
Hadoop环境搭建之Zookeeper、Hbase安装
查看>>
Spring Boot 日志 简单配置
查看>>
Java编程规范
查看>>
java垃圾回收
查看>>
Rocketmq之namesrv启动流程源码详解分析
查看>>
CentOS 7 安装Clementine Music Player!及缺失插件的解决方法!
查看>>
linux chromium could not load shockwave flash解决办法!
查看>>
Spring:一些常用的Spring Bean扩展接口
查看>>
JavaScriptSerializer.MaxJsonLength属性问题
查看>>
死磕Spring系列之一:准备阅读Spring源码环境
查看>>