Python小练:(三:打包eavl()函数冒泡排序)

Posted super-treasure

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python小练:(三:打包eavl()函数冒泡排序)相关的知识,希望对你有一定的参考价值。

技术图片

 

 运行结果:

技术图片

 

 

——————————————————————————————————————————

 

技术图片

 

 

运行结果:

技术图片

 

 

 

——————————————————————————————————————————

 

 

# 第三题:使用python实现冒泡排序
def BubbleSort(list):
long = len(list)
for i in range(0,long):
for j in range(i,long):
if list[i] < list[j]:
list [i],list[j] = list[j],list[i]
else:
pass
return list

list = [23, 12, 1, 56, 34, 78, 1, 55, 4, 2, 66]
print(BubbleSort(list))

运行结果:

技术图片

 

 

 

 

——————————————————————————————————————————

 

 

 

# 第四题:给定一个正整数列表,请你排列它们,使他们成为最大的数字。
# 例如:给定[6,30,32,7,9],最大的形成的数字是9763230(是组成,不是相加,也就是说返回的是一个字符串,不是整数)

def BubbleSort_add(num_list):
long = len(num_list)
for i in range(long): # 遍历出这个列表中的每一个下标值
for j in range(i,long): # 为了是当前位置的数字和其后面的进行比较
if int(str(num_list[j])+str(num_list[i])) > int(str(num_list[i])+str(num_list[j])):
# 如果后一个数字 + 当前数字 大于 当前数字 + 后一个数字,那么两个数就互换位置
num_list[i],num_list[j] = num_list[j], num_list[i]
else:
pass
num_list = [str(i) for i in num_list]
num_list = "".join(num_list)
return(num_list) # 返回一个拼接在一起的字符串



num_list = [6,23,4,312,5,435,43,640,81]
res = BubbleSort_add(num_list=num_list)
print(res)

运行结果:

技术图片

以上是关于Python小练:(三:打包eavl()函数冒泡排序)的主要内容,如果未能解决你的问题,请参考以下文章

Python小练

爆肝!回调函数的实用案例,建议收藏~(计算器改良,qsort快排函数应用实例,冒泡函数核心理解,模拟qsort函数)

冒泡的Python实现

python入门之冒泡排序

python小练0001

python小练0010