青少年python系列目录_老程序员115的博客-CSDN博客
算法思路:
数组array[N]。
第一趟排序遍历下标0到N-1的所有数据,首先第一个元素和第二个元素比较,如果第一个大,则二者交换,否则不交换;然后第二个元素和第三个元素比较,如果第二个大,则二者交换,否则不交换……一直执行下去,最终最大的那个元素被交换到最后,一趟冒泡排序完成。
第二趟遍历0到N-2的所有数据,最大的元素被交换到倒数第二的位置。
直到遍历完成 ,形成一个有序的数组。
n = int(input())
a = list(map(int, input().split()))
for i in range(n-1): # 进行 n-1 轮冒泡排序
for j in range(n-1-i): # 每轮进行n-1-i次比较
if a[j] > a[j+1]: # 交换数值
temp = a[j]
a[j] = a[j+1]
a[j+1] = temp
for i in a:
print(i, end=" ")
改进冒泡排序
n = int(input())
a = list(map(int, input().split()))
# a = [6,5,3,4,1,2]
# n= len(a)
for i in range(n-1): # 进行 n-1 轮冒泡排序
ok = True
for j in range(n-1-i): # 每轮进行n-1-i次比较
if a[j] > a[j+1]: # 交换数值
temp = a[j]
a[j] = a[j+1]
a[j+1] = temp
ok = False
if ok:
break
for i in a:
print(i, end=" ")
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行
csdn文章推荐受影响解决办法10个字10行