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

yipeiwu_com6年前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 获取键盘输入,同时有超时的功能示例

如下所示: ''' ###get keyboard input and timeout =5 import sys, time, msvcrt def readInput( ca...

Python用for循环实现九九乘法表

下面通过一段代码给大家介绍python 使用for 循环实现九九乘法表,具体代码如下所示: #for 循环实现99乘法表 for i in range (1,10): for j...

Python实现深度遍历和广度遍历的方法

深度遍历: 原则:从上到下,从左到右 逻辑(本质用递归): 1)、找根节点 2)、找根节点的左边 3)、找根节点的右边 class Node(object): def __init...

Python KMeans聚类问题分析

Python KMeans聚类问题分析

今天用python实现了一下简单的聚类分析,顺便熟悉了numpy数组操作和绘图的一些技巧,在这里做个记录。 from pylab import * from sklearn.clus...

python 输出所有大小写字母的方法

用一行输出所有大(小)写字母,以及数字,首先要记住该字母所对应的ASCII码,百度一下就可以看到,ASCII可显示字符 (这里只列举数字和字母) 二进制...