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

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

相关文章

Python3+Pycharm+PyQt5环境搭建步骤图文详解

Python3+Pycharm+PyQt5环境搭建步骤图文详解

搭建环境: 操作系统:Win10 64bit Python版本:3.7 Pycharm:社区免费版 一、Python3.7安装 下载链接:官网https://www.python.org...

如何在Python中实现goto语句的方法

Python 默认是没有 goto 语句的,但是有一个第三方库支持在 Python 里面实现类似于 goto 的功能:https://github.com/snoack/python-...

python实现京东秒杀功能

本文实例为大家分享了python实现京东秒杀的具体代码,供大家参考,具体内容如下 # _*_coding:utf-8_*_ from selenium import webdriv...

Python实现读取json文件到excel表

本文实例为大家分享了Python实现读取json文件到excel表,供大家参考,具体内容如下 一、需求 1、'score.json' 文件内容: { "1":["小花",99,1...

Python 硬币兑换问题

硬币兑换问题: 给定总金额为A的一张纸币,现要兑换成面额分别为a1,a2,....,an的硬币,且希望所得到的硬币个数最少。 # 动态规划思想 dp方程式如下 # dp[0] =...