• 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)

  • 相关阅读:
    mysql合并数据
    java协变类型返回
    OSI网络七层模型理解
    mysql性能优化学习
    redis lock 和 tryLock 实际使用区别
    多字段关联同一张表
    第一个Mabits程序
    Mybatis使用Map来实现传递多个参数及Mybati实现模糊查询
    使用Mybatis框架的步骤
    sql小技巧
  • 原文地址:https://www.cnblogs.com/dvbbs2012/p/5039683.html
Copyright © 2020-2023  润新知