Python编程二分法实现冒泡算法+快速排序代码示例

yipeiwu_com7年前Python基础

本文分享的实例主要是Python编程二分法实现冒泡算法+快速排序,具体如下。

冒泡算法:

#-*- coding: UTF-8 -*-
#冒泡排序

def func(lt):
if type(lt).__name__ !='list' and type(lt).__name__ !='tuple':
return
if type(lt).__name__ == 'tuple':
return list(lt)
for i in range(1,len(lt)-1):
   for j in range(1,len(lt)-i):
     if lt[j] > lt[j+1]:
     lt[j],lt[j+1] = lt[j+1],lt[j]
return lt


lt_01 = [2,34,5,14,7,28]
print func(lt_01)

=================================================

二分法:(通过函数递归调用实现)

def func(lt=[]):
  if type(lt).__name__ !='list' and type(lt).__name__!='tuple':
    return
  if type(lt).__name__ =='tuple':
    return list(lt)
  if len(lt)<=1:
    return lt
  k = lt[0]
  lt_l = []
  lt_r = []
  lt_m = []
  for i in lt:
    if i>k:
      lt_r.append(i)
    elif i<k:
      lt_l.append(i)
    else:
      lt_m.append(i)
  lt_l=func(lt_l)
  lt_r=func(lt_r)
  return lt_l + lt_m + lt_r


a = [2,4,12,6,23,16,28]
print func(a)

总结

以上就是本文关于Python编程二分法实现冒泡算法+快速排序代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

python中的插值 scipy-interp的实现代码

python中的插值 scipy-interp的实现代码

具体代码如下所示: import numpy as np from matplotlib import pyplot as plt from scipy.interpolate im...

python 3.7.0 安装配置方法图文教程

python 3.7.0 安装配置方法图文教程

本文记录了python 3.7.0 安装配置方法,供大家参考,具体内容如下 S1 登入Python官网下载网址 S2 下载后缀为exe的可执行文件,并根据自己电脑/主机的系统选择32位还...

python向图片里添加文字

python向图片里添加文字

本文实例为大家分享了python图片添加文字的具体代码,供大家参考,具体内容如下 #!/usr/bin/python #-*-coding:utf-8-*- from PIL im...

在Ubuntu系统下安装使用Python的GUI工具wxPython

(一)wxpython的安装     Ubuntu下的安装,还是比较简单的。 #使用:apt-cache search wxpython 测试一下,可以...

Python编写Windows Service服务程序

Python编写Windows Service服务程序

 如果你想用Python开发Windows程序,并让其开机启动等,就必须写成windows的服务程序Windows Service,用Python来做这个事情必须要借助第三方模...