1. for版本--插入排序

def insert_sort_for(a_list):
'''插入排序for版本'''
num = len(a_list) for j in range(1,num):
for i in range(j,0,-1):
if a_list[i] < a_list[i-1]:
a_list[i-1],a_list[i] = a_list[i],a_list[i-1]
else:
break return a_list

2. while版本--插入排序

def insert_sort_while(b_list):
'''插入排序while版本'''
num = len(b_list)
j=1
while j < num:
i = j
while i > 0:
if b_list[i] < b_list[i-1]:
b_list[i-1],b_list[i] = b_list[i],b_list[i-1]
i -= 1
else:
break
j += 1 return b_list

3. 测试用例

if __name__ == '__main__':
a_list = [4,2,1,5,9,8]
print(insert_sort_for(a_list)) b_list = [4,3,9,1,5,6]
print(insert_sort_while(b_list))

4. 算法时间复杂度分析

  • 最好时间复杂度:O(n) (升序排列,序列已经处于升序状态了)
  • 最坏时间复杂度:O(n2)
  • 稳定性:稳定

最新文章

  1. 新手入门Underscore.js 中文(template)
  2. 广播变量、累加器、collect
  3. php29号小结(隔行换色&#183;&#183;&#183;&#183;&#183;&#183;)
  4. log4j:ERROR A &quot;org.jboss.logging.appender.FileAppender&quot; object is not assignable to a &quot;org.apache.lo .
  5. SQL语句 远程操作数据库
  6. 国内外主流BI厂商对比
  7. download 下载文件 IE兼容性处理
  8. (函数封装)获取class名称
  9. (原创)foef注意事项
  10. 使用百度云 BOS 和 C# SDK 开发数据存储
  11. eclipse遇到的问题
  12. JavaScript——DOM树的增查改删总结
  13. 【Android】Android输入子系统
  14. 【Python】爬取网站图片
  15. 使用Python自己实现简单的数据可视化
  16. 【数据分析知识点】detailed table of contents
  17. JUC线程池之 ThreadPoolExecutor简介
  18. 有关ajax
  19. request.getRemoteAddr() 获取的值为0:0:0:0:0:0:0:1的原因及解决办法
  20. python模块学习之os

热门文章

  1. HAProxy配置说明(转)
  2. 重新粗推了一下Master Theorem
  3. 通过反射调用Unity编辑器提供的各种功能
  4. 设计模式——proxy代理模式
  5. MyBatis Plus:No qualifying bean of type &#39;com.baomidou.mybatisplus.mapper.BaseMapper&lt;?&gt;&#39; available: expected single matching bean but found 4
  6. (原)kenel开机logo的制作
  7. JavaScript学习历程02
  8. .net framework 项目 build 出现 未能加载文件或程序集“netfx.force.conflicts”或它的某一个依赖项
  9. Mybatis sql映射文件浅析 Mybatis简介(三) 简介
  10. SpringBoot面试题及答案整理