冒泡排序 python
冒泡排序为非线性时间比较类排序,对序列进行两两比较,每一个回合都将最大(或最小)的数移到最右边,n-1个回合时间复杂度为0(n**2),空间复杂度为O(1),在原数组上进行比较和换位,稳定但是速度较慢。
python程序如下:
# *_* coding=utf-8 *_*
### Zac
bubble = [int(each) for each in input().split()]
def BubbleSort(s):
len_s = len(s)
if len_s == 0 or len_s == 1:
return s
for i in range(len_s):
for j in range(len_s-i-1): # 取i=0来验证是否-1 or +1;否则j+1超出range
if s[j] < s[j+1]: #将小的往后排
temp = s[j]
s[j] = s[j+1]
s[j+1] = temp
return s
print(BubbleSort(bubble))