输入数据为:10,17,50,7,30,24,27,45,15,5,36,21,90,78,88
冒泡排序后:5, 7, 10, 15, 17, 21, 24, 27, 30, 36, 45, 50, 78, 88, 90
def bubble_sort(array):
for i in range(1, len(array)):
for j in range(0, len(array)-i):
if array[j] > array[j+1]:
array[j], array[j+1] = array[j+1], array[j]
return array
if __name__ == '__main__':
# array = [10,17,50,7,30,24,27,45,15,5,36, 21,90,78,88]
# print(bubble_sort(array))
# 10,17,50,7,30,24,27,45,15,5,36,21,90,78,88
arr = input().split(",")
print(bubble_sort(arr))
排序结果为:[‘10’, ‘15’, ‘17’, ‘21’, ‘24’, ‘27’, ‘30’, ‘36’, ‘45’, ‘5’, ‘50’, ‘7’, ‘78’, ‘88’, ‘90’]
发现貌似是按位排的,原来输入的数据是str类型的,所以要把str转换成int类型。
正确版本def bubble_sort(array):
for i in range(1, len(array)):
for j in range(0, len(array)-i):
if array[j] > array[j+1]:
array[j], array[j+1] = array[j+1], array[j]
return array
if __name__ == '__main__':
# array = [10,17,50,7,30,24,27,45,15,5,36, 21,90,78,88]
# print(bubble_sort(array))
# 10,17,50,7,30,24,27,45,15,5,36,21,90,78,88
arr = input().split(",")
arr = [int(i)for i in arr] #增加此行,str转换为int
print(bubble_sort(arr))
排序结果为:[5, 7, 10, 15, 17, 21, 24, 27, 30, 36, 45, 50, 78, 88, 90]
奈斯,解决!



