一、排序思想

希尔排序思想请参见:https://www.cnblogs.com/luomeng/p/10592830.html

二、python实现

def shellSort(arr):
"""
python希尔排序
:param arr: 待排序列 step :步长值
"""
step = len(arr) // 2
while step > 0:
for rightIndex in range(step, len(arr)):
while rightIndex >= step and arr[rightIndex] < arr[rightIndex - step]:
arr[rightIndex - step], arr[rightIndex] = arr[rightIndex], arr[rightIndex - step]
rightIndex -= step
step //= 2 nums = [5, 6, 7, 2, 1, 65, 21, 22, 8, 0, 1] shellSort(nums) print(nums)

最新文章

  1. windows配置php开发环境
  2. 学习OpenCV——行人检测&amp;人脸检测(总算运行出来了)
  3. img标签使用默认图片的一种方式
  4. netstat用法
  5. SSH 端口转发
  6. ionic中input框禁止输入问题
  7. android 打包签名
  8. 十二、享元(Flyweight)模式--结构模式(Structural Pattern)
  9. 小米手机usb共享网络mac
  10. 关于sqlserver还原不了数据库的原因
  11. php 中的全局变量的理解
  12. [android游戏开发初学]SurfaceView初探之缓冲区测试
  13. 深透清晰理解Java高并发概述
  14. “var arr = []; ”和 “var arr = {};” 的区别
  15. struct 2 基本知识
  16. OpenResty和Resis一些基本的性能配置
  17. python3 文件操作练习 r+ w+ a+ 的理解
  18. 【1】学习C++时,一些零散知识点01
  19. COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问。最新解决方案
  20. matplotlib&amp;numpy画图

热门文章

  1. jquery.nav.js定位导航滚动插件
  2. Sublime Text3 最新版3207 安装及破解
  3. maven+eclipse+ssm 环境搭建和启动
  4. MongoDB 学习笔记四 C#调用MongoDB
  5. 关于&lt;ul&gt; 下的 &lt;li&gt; 里面的&lt;a&gt; 标签字体颜色不能控制
  6. php 的加法
  7. POJ3322Bloxorz I
  8. 主流服务器虚拟化技术简单使用——Xen(二)
  9. 搭建spring boot项目
  10. 二分--POJ-3258