数据结构
排序
冒泡排序
1、描述:冒泡排序是两两比较待排序记录的关键字,如果次序相反则交换两个记录的位置,直到序列中所有记录有序排列。若是按照升序排列,每趟将序列元素中最大值元素交换到最后的位置,就像气泡从水里面冒出来一样。
2、python代码及注释如下:
# -*- coding: utf-8 -*
def BubbleSort(a):#定义冒泡排序函数
Flag='True' # 检测标志
i=1 # 设交换次数为i=1
while i
Flag='False'
for j in range(len(a)-i): # 每一次的交换次数j是介于【0,len-i)
if a[j+1]
p=a[j+1]
a[j+1]=a[j]
a[j]=p
Flag='True' # 标志位,用来判断是否有某一次检测,所有元素位置没有发生改变,如果没有发生改变那么就可以返回函数结果了
i+=1
return a
b=[2,23,18,56,78,70,45,36,72,34] # 测试用例
print BubbleSort(b) # 打印函数输出结果
3、返回结果:
[2, 18, 23, 34, 36, 45, 56, 70, 72, 78]
4、算法性能
时间复杂度:O(n^(2))
空间复杂度:O(1)
稳定性:稳定的排序算法