<每日一题>题目24:冒泡排序

‘‘‘
    冒泡排序:比较相邻元素,顺序错误就交换顺序

‘‘‘
import random
import cProfile
def bubble_Sort(nums):
    for i in range(len(nums)-1):
        for j in range(i+1,len(nums)):
            if nums[i] > nums[j]:
                # max =  nums[i]
                # nums[i] = nums[j]
                # nums[j] = max
                #python有更好的写法
                nums[i],nums[j] = nums[j],nums[i]
    return nums

nums =  [5,6,3,2,1,65,2,0,8,0]

nums = [random.randint(0,10000) for i in range(10000)]
print(bubble_Sort(nums))
cProfile.run(‘bubble_Sort(nums)‘)

  运行结果:

排序:略

运行时间:3.256秒(跟桶排序比差了不止一点- -)

原文地址:https://www.cnblogs.com/shuimohei/p/10380840.html

时间: 2024-07-31 18:26:38

<每日一题>题目24:冒泡排序的相关文章

&lt;每日一题&gt;题目26:选择排序(冒泡排序改进版)

''' 选择排序:选择最小的,以此类推 ''' import random import cProfile def select_Sort(nums): for i in range(len(nums)-1): for j in range(i+1,len(nums)): if nums[i] > nums[j]: # max = nums[i] # nums[i] = nums[j] # nums[j] = max #python有更好的写法 nums[i],nums[j] = nums[j]

&lt;每日一题&gt;题目28:生成随机的测验试卷(单选题)

#项目:生成随机的测验试卷文件 import random #资料库 capitals = {'北京市':'京','上海市':'沪','天津市':'津','重庆市':'渝','河北省':'冀','山西省':'晋','辽宁省':'辽','黑龙江省':'黑','吉林省':'吉','江苏省':'苏','浙江省':'浙','安徽省':'皖','福建省':'闽','江西省':'赣','山东省':'鲁','河南省':'豫','湖北省':'鄂','湖南省':'湘','广东省':'粤','海南省':'琼','四

&lt;每日一题&gt;题目2:编写装饰器,为多个函数加上认证功能(用户账号和密码来源于文件)

这里做个最简单的账号密码验证,主要为了实现装饰器同时对多个函数起作用 1 FLAG = False #加一个变量防止多次登录验证 2 def wrapper(f): 3 def inner(*args,**kwargs): 4 '''登录程序''' 5 global FLAG #将FLAG变量设置成全局变量 6 if FLAG: 7 ret = f(*args, **kwargs) 8 return ret 9 else: 10 username = input('username:') 11

&lt;每日一题&gt;题目1:简单的注册和登录1.0

#版本1.0,最基本的注册登录'''1.注册,将账号和密码分别写在不同的文档里面2.登录,分别从账户文档和密码文档进行读取并登录''' 1 #注册 2 Identity = input("请输入您想要注册的账号:") 3 Password = input("请输入您想要注册的密码:") 4 print("恭喜您注册成功") 5 with open('id_ZC',mode='w',encoding='utf-8') as f1,open('pw_

&lt;每日一题&gt;题目16:简单的python练习题(1-10)

#1.python程序中__name__的作用是什么? __name__这个系统变量用来表示程序的运行方式. 如果程序在当前膜快运行,__name__的名称就是__main__, 如果不在(被调用),则显示为导入模块的名称. 扩展:常常这样写if __name__ == "__main__":来表名这是整个工程开始运行的入口. 效果:如果直接从这个文件执行,if为Turn,可以运行if后面的程序 如果被调用,if为False,不执行if后面的程序 #2.表达式int('11111',2

&lt;每日一题&gt;题目17:super()继承相关的面试题

class A(object): def go(self): print("go A go!") def stop(self): print("stop A stop!") def pause(self): raise Exception("Not Implemented") class B(A): def go(self): super().go() print( "go B go!") class C(A): def go

&lt;每日一题&gt;题目27:插入排序(假)

''' 插入排序:假设元素左侧全部有序,找到自己的位置插入 ''' import random import cProfile def insert_sort(nums): for i in range(1,len(nums)): for j in range(i,0,-1): if nums[j-1] > nums[j]: nums[j-1],nums[j] = nums[j],nums[j-1] return nums nums = [random.randint(0, 10000) for

&lt;每日一题&gt;题目28:简单的python练习题(51-60)

#51.一行代码实现1-100的和 sum(range(1,101)) #52.如何在一个函数内部修改全局变量 ''' 利用global ''' #53.字典如何删除和合并2个字典 ''' del dic['name'] #删除 dic.update(dic2) #合并 ''' #54.谈下python的GIL ''' 全局解释器锁,同一进程中多线程同时只有一个线程能霸占python解释器(加了GIL),其他线程无法进行,该线程结束后才能运行. 多进程可以有多个python解释器,可以实现多个进

&lt;每日一题&gt;题目29:五个数字能组成多少互不重复的四位数

#有五个数字:1.2.3.4.5,能组成多少个互不相同且无重复数字的四位数?各是多少? e =[] for a in range(1,6): for b in range(1,6): for c in range(1,6): for d in range(1,6): if a!=b and a!=c and a!=d and b!=c and b!=d and c!=d: e.append(str(a)+str(b)+str(c)+str(d)) print("组成数量:%d" %le