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)
  • 相关阅读:
    HTML5第二节
    HTML5在移动端开发的12大特性
    移动端开发遇到的坑
    html5 meta(移动端)介绍及使用
    CSS的margin塌陷(collapse)
    Block Demo
    设计模式之代理
    OC Block网上转载
    GCD之全局、主线程
    Spark SQL中 RDD 转换到 DataFrame
  • 原文地址:https://www.cnblogs.com/cloverclt/p/4757539.html
Copyright © 2011-2022 走看看