1. for版本--选择排序

def select_sort_for(a_list):
'''选择排序 for版本'''
num = len(a_list)
for j in range(num-1):
for i in range(j,num):
if a_list[i] < a_list[j]:
a_list[j],a_list[i] = a_list[i],a_list[j] return a_list

2. while版本--选择排序

def select_sort_while(b_list):
'''选择排序 while版本'''
num = len(b_list)
j = 0;
while j < num-1:
i = j + 1
while i > j and i <= num-1:
if b_list[j] > b_list[i]:
b_list[j],b_list[i] = b_list[i],b_list[j]
i += 1
j += 1 return b_list

3.测试用例

if __name__ == '__main__':
a_list = [2,4,9,1,5]
print(select_sort_for(a_list))
b_list = [2,4,9,1,5]
print(select_sort_while(b_list))

4. 算法时间复杂度分析

  • 最好时间复杂度:O(n2)
  • 最坏时间复杂度:O(n2)
  • 稳定性:不稳定(考虑升序每次选择最大的情况)

最新文章

  1. ENode简介与各种教学视频资源汇总(要进群这篇文章必看)
  2. 菜鸟学Linux命令:chmod命令和数字文件权限
  3. 第四章 跨平台图像显示库——SDL 第一节 与SDL第一次亲密接触
  4. CSS定位小技巧
  5. 组件局域网中的无集线器、Windows XP、Windows 7、Windows 8的对等网
  6. Drupal 7 建站学习手记(四):怎样改动Nivo Slider模块的宽高
  7. 判断程序是否在VMWare内运行
  8. Sublime Text 3 修改插件安装位置【sublime text、插件路径、Data】
  9. Spark调度模式-FIFO和FAIR
  10. 网页字体在Frontpage2000制作网页中的讲解
  11. canvasJS
  12. 学以致用二十三-----shell脚本里调用脚本
  13. Oracle DBLINK 简单使用
  14. python---django中STATIC_ROOT和STATIC_URL以及STATICFILES_DIRS
  15. bzoj千题计划268:bzoj3131: [Sdoi2013]淘金
  16. Mac XMPP Openfire 服务器配置
  17. Cloudera Manager Admin控制台启动不起来
  18. 8-4 Fabled Rooks uva11134
  19. (2.16)Mysql之SQL基础——函数
  20. Yahoo Programming Contest 2019

热门文章

  1. asp.net core cors中间件
  2. websocket Tomcat JSP Demo
  3. MTK 关闭耳机调至最大音量时,提示损伤听力
  4. redis实战 -- python知识散记
  5. Dart
  6. sqlserver等软件下载
  7. IOS gallery
  8. PCB画板总结
  9. Codeforces Round #496 (Div. 3)
  10. Skip the Class