python实现的希尔排序算法实例

yipeiwu_com6年前Python基础

本文实例讲述了python实现希尔排序算法的方法。分享给大家供大家参考。具体如下:

def shellSort(items):
  inc = len(items) / 2
  while inc:
    for i in xrange(len(items)):
      j = i
      temp = items[i]
      while j >= inc and items[j-inc] > temp:
        items[j] = items[j - inc]
        j -= inc
      items[j] = temp
    inc = inc/2 if inc/2 else (0 if inc==1 else 1)
a = [35, -8, 11, 1, 68, 0, 3];
shellSort(a)
print a # [-8, 0, 1, 3, 11, 35, 68]

希望本文所述对大家的Python程序设计有所帮助。

相关文章

数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法

数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法

Numpy提供了几种数据保存的方法。 以3*4数组a为例: 1. a.tofile("filename.bin") 这种方法只能保存为二进制文件,且不能保存当前数据的行列信息,文件后缀不...

Python中关于使用模块的基础知识

 一个模块可以在逻辑上组织Python代码。将相关的代码到一个模块中,使代码更容易理解和使用。模块是可以绑定和借鉴任意命名属性的Python对象。 简单地说,一个模块是由Pyt...

怎样使用Python脚本日志功能

怎样使用Python脚本日志功能

  假设要开发一个自动化脚本工具,工程结构如下,Common这个package是框架功能的实现,Scripts目录是我们编写的测试用例脚本(请忽略其他不相关的目录)。   我们对日志功能...

使用tqdm显示Python代码执行进度功能

使用tqdm显示Python代码执行进度功能

在使用Python执行一些比较耗时的操作时,为了方便观察进度,通常使用进度条的方式来可视化呈现。Python中的tqdm就是用来实现此功能的。 先来看看tqdm的进度条效果:  ...

Python实现视频下载功能

Python实现视频下载功能

最近一两年短视频业务风生水起,各个视频网站都有各自特色的短视频内容。如果有这样一个程序,可以把各大视频网站的热门用户最新发布的视频都下载下来,不仅方便自己观看,还可以将没有版权的视频发布...