免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1954 | 回复: 0
打印 上一主题 下一主题

转:python 排序实现 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-25 18:05 |只看该作者 |倒序浏览

转自 http://www.lixiaodou.cn/?cat=8
# -*- coding: utf-8 -*-
def charu(list):
    length = len(list)
    for i in range(1,length):
        temp = list
        j = i - 1
        while list[j] > temp:
            list[j+1] = list[j]
            list[j] = temp
            j = j - 1
            if j  0:
                break
    return list

def xuanze(list):
    length = len(list)
    for i in range(0,length):
        k = i
        for j in range(i+1,length):
            if list[k] > list[j]:
                k = j
        if k != i:
            temp = list
            list = list[k]
            list[k] = temp

    return list

def maopao(list):
    length = len(list)
    if length = 0:
        return []

    for i in range(0,length):
        for j in range(length-1,i,-1):
            if list[j]  list[j-1]:
                temp = list[j]
                list[j]=list[j-1]
                list[j-1]=temp
    return list

def kuaisu(ls):   
    return [] if ls == [] \
    else kuaisu([y for y in ls[1:] if y  ls[0]]) + \
    [ls[0]] + \
    kuaisu([y for y in ls[1:] if y >= ls[0]])


list = [38,65,97,76,13,27,49]
print charu(list)
print xuanze(list)
print maopao(list)
print kuaisu(list)
基本只要稍微改改,就可以用~~我已经用了。。挺好用。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93255/showart_1944503.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP