已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > Python > 源码

标题: 归并法排序 python代码

作者: @Ta

时间: 2014-03-05

点击: 4059

我第一个python代码,记录下

ss = [464,1564,8234,8564532156,45414654,5154,5,1544,21,32,45,12,15,1657,84,132,489,75,4,8967,654,6587,8,4,21,54,8,12,15,4,21,65]

def sort_ex(a, b):
    z = []
    i = 0
    j = 0

    while i < len(a) and j < len(b):
        if a[i] < b[j]:
            z += [a[i]]
            i += 1
        else:
            z += [b[j]]
            j += 1

    if i >= j:
        z += b[j:]
    else:
        z += a[i:]

    return z;
    pass

def sort(x):
    if len(x) == 1:
        return x;
    else:
        f = int(len(x)/2)
        m = sort(x[0:f])
        n = sort(x[f:])
        # print(f,m,n)
        return sort_ex(m,n)
    pass

print(len(ss),sort(ss))


[隐藏样式|查看源码]


『回复列表(4|隐藏机器人聊天)』

1. Python是做什么的?
(/@Ta/2014-03-05 18:28//)

2. @拒绝柳岩99次,编程语言。
(/@Ta/2014-03-05 18:46//)

3. 排一百万逆序,用时9秒!
(/@Ta/2014-03-05 19:00//)

4. 测试了下常用排序常用算法,1w,逆序。

归并法:0.2(可能比这个低)
插入法,16.6s
冒泡,23.1s
选择排序,7.6s
其他不想测试了
(/@Ta/2014-03-05 19:08//)

回复需要登录

7月6日 13:19 星期天

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1