python冒泡排序和选择排序
2021-03-30 03:26
标签:pytho 个数 交换 pos code 控制 冒泡排序 好的 一个 python冒泡排序和选择排序 标签:pytho 个数 交换 pos code 控制 冒泡排序 好的 一个 原文地址:https://blog.51cto.com/13560219/2526484
# 冒泡排序
# 排序的过程:两个相邻的数比较,比如从小到大比:如果a>b就交换两个数,一直交换到最后一个,确定了最大的值排在最后,再接着比第二轮...
# 从左边往右边交换:第一轮比较后,最右边的就是最大值,接着比较第二轮就要排除最右边的已排好的数字,每轮比较都是如此
# 注意嵌套训循环对索引的控制
a = [2,3,0,100,6,3,-2]
n=len(a)
print("从左往右交换:")
for i in range(n-1,0,-1):
for j in range(i):
if a[j] > a[j+1]: #如果时 a[positionMax]:
positionMax = j
a[i],a[positionMax] = a[positionMax],a[i]
print(a)
# 排序过程:从右往左排,比如从小往大排:以右边为基准,从右开始比较,每轮比较,将最小的排到最左边,排完所有轮,排序完成
print("选择排序,从右往左")
for i in range(n):
positionMax = n-1
for j in range(n-i-1,0,-1):
if a[j] > a[positionMax]:
positionMax = j
a[j], a[positionMax] = a[positionMax],a[j]
print(a)
上一篇:C/C++ 弱符号
下一篇:剑指offer连续子数组最大和