首页 > 其他 > 详细

sorted函数的实现

时间:2020-09-05 08:18:38      阅读:60      评论:0      收藏:0      [点我收藏+]

  

import random
hip=list(range(10))
random.shuffle(hip)
print(hip)
def hum(b,reverse=False):
    hop=[]
    for x in b:
        for i,y in enumerate(hop):
            flag= x>y if reverse else x<y
            if flag:
                hop.insert(i,x)
                break
        else:
            hop.append(x)
    return hop
print(hum(hip,True))

 

import random
hip=list(range(10))
random.shuffle(hip)
print(hip)

def hum(iterable,reverse=False):
    hum=[]
    def comp(a,b):
        return a>b if reverse else a<b
    for x in iterable:
        for index,y in enumerate(hum):
            if comp(x,y):
                hum.insert(index,x)
                break
        else:
            hum.append(x)
    return hum
print(hum(hip,1))

 

将比较函数做成通用函数,外移

import random
hip=list(range(10))
random.shuffle(hip)
print(hip)

def comp(a,b,reverse):
    return a>b if reverse else a<b

def hum(iterable,reverse=False):
    hop=[]
    for x in iterable:
        for index,y in enumerate(hop):
            if comp(x,y,reverse):
                hop.insert(index,x)
                break
        else:
            hop.append(x)
    return hop
print(hum(hip,1))

 

hip=list(range(10))
random.shuffle(hip)
print(hip)

def comp(a,b):
    return a<b

def hum(iterable,key=comp,reverse=False):
    hip=[]
    for x in iterable:
        for index,y in enumerate(hip):
            flag= key(x,y) if not reverse else key(y,x)
            if flag:
                hip.insert(index,x)
                break
        else:
            hip.append(x)
    return hip
print(hum(hip,reverse=True))

 

sorted函数的实现

原文:https://www.cnblogs.com/dissipate/p/13616785.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!