要一个函数实现冒泡排序,输入10个整数,接照从小到大从大到小排疗!序,并输出排序后的结果
冒泡就是双重循环。稍等代码
s = input()
a = [int(n) for n in s.split()]
for i in range(0,9):
for j in range(0,9-i):
if a[j] > a[j+1]:
t = a[j]
a[j] = a[j+1]
a[j+1] = t
for i in range(0,10):
print(a[i],end=" ")
def maopao(a):
start_time = time.time()*1000
x = len(a)
for i in range(x-1):
for j in range(i,x-1)[::-1]:
if a[j+1] < a[j]:
a[j], a[j+1] = a[j+1], a[j]
use_time = time.time()*1000 - start_time
print('1 冒泡排序: ',a,'\n', '使用时间: ', '%s ms' % use_time)
maopao(a)
def sort(a):
for i in range(len(a)):
for n in range(0,len(a)-1-i):
# 将列表前后两个数进行比较,大的放后面小的放前面
# len(a)-1-i 剔除比对完的顶端数(最大/最小),同时可以防止n+1超出下标界限
if a[n] > a[n+1]:
a[n], a[n+1] = a[n+1], a[n]
return a
nums = eval(input('输入10个整数,逗号隔开'))
nums = list(nums)
nums = sort(nums)
print(nums)
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!