#定义排序数组
arr = [5,8,1,3,6,2,4,7]
#元素移动次数
count = 0
def BubbleSort(arr,count):
for i in range(len(arr)):
for j in range(0,len(arr)-i - 1): #这里-1是为了防止最后一次Index out of range
if arr[j] > arr[j+1]:
#冒泡的关键,将逆序交换顺序
temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
count = count + 1
j = j + 1
print("\n元素交换次数: " + str(count),end=" ")
#打印数组
def printArr(arr):
for item in arr:
print(item,end=" ")
if __name__ == '__main__':
print("排序前数组:")
printArr(arr)
BubbleSort(arr,count)
print("\n排序后数组:")
printArr(arr)