zoukankan      html  css  js  c++  java
  • python学习之——冒泡排序

    # -*- coding: cp936 -*-
    import random
    #生成1-200之间的随机数
    def datalist(num):
        data=[]
        for i in range(0,num):
            data.append(random.randint(1,200))
    
        return data
    
    #传统意义的冒泡排序
    #待排序元素n个,两两进行比较,将最小的放到 第一个位置
    #需进行 n-1 次循环,每次 比较的元素均比上次少一个
    def bubblesort1(bubblelist):
        listlen=len(bubblelist)
        for i in range(1,listlen):
            for j in range(0,listlen-i):
                if bubblelist[j]>bubblelist[j+1]:
                    bubblelist[j],bubblelist[j+1]=bubblelist[j+1],bubblelist[j]
                            
        return bubblelist
                
    
    #冒泡排序升级版:发现不再 交换,则表示排序已经完成
    
    def bubblesort2(bubblelist):
        listlen = len(bubblelist)
        flag=1
    
        while flag==1:
            for i in range(1,listlen):
                for j in range(0,listlen-i):
                    flag = 0
                    if bubblelist[j] > bubblelist[j+1]:
                       bubblelist[j],bubblelist[j+1] = bubblelist[j+1],bubblelist[j]
                       flag = 1
            return bubblelist
        
    #主函数   
    if __name__=='__main__':
        datanum=raw_input("datanum=")
        num=int(datanum)
        numlist=datalist(num)
        print numlist
        print bubblesort2(numlist)
  • 相关阅读:
    as3.0 网络通信
    flash显示html
    [javascript]对象
    hibernate
    远程服务
    [mysql]笔记1
    [笔记]深入剖析Tomcat-tomcat的默认连接器,servlet容器
    [java]关于访问权限
    [笔记]http权威指南(2)
    [笔记]http权威指南
  • 原文地址:https://www.cnblogs.com/cloverclt/p/4757539.html
Copyright © 2011-2022 走看看