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)
  • 相关阅读:
    form提交上传图片
    存储过程分页
    表格隔行换色效果
    C#获取本地局域网IP
    sql 拆分字符串并循环取值
    sql日期转换
    HDU 4858
    HDU 1199
    URAL 1306
    Codeforces Round #288 (Div. 2)
  • 原文地址:https://www.cnblogs.com/cloverclt/p/4757539.html
Copyright © 2011-2022 走看看