失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python算法与数据结构-冒泡排序算法

python算法与数据结构-冒泡排序算法

时间:2022-10-13 07:11:43

相关推荐

python算法与数据结构-冒泡排序算法

对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。

冒泡排序(英语:bubble sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢”浮”到数列的顶端。

代码如下所示:

# coding:utf-8

defbubble_sort(alist):

"""冒泡排序"""

n=len(alist)

#第一种不考虑效率的排序

# for j in range(0,n-1):

# # for i in range(0,n-1):

# # if alist[i] > alist[i+1]:

# # alist[i],alist[i+1] = alist[i+1],alist[i]

#第二种考虑效率的排序

forjinrange(n-1):#下面一行跟这行写法一样

#for j in range(0, n - 1):

#print(n-1) # 输出8个8

#print(j) #输出从0到7 这个j值等于0,对应i值的01234567

#这个j值等于1,对应i值的0123456

count=0

foriinrange(0,n-1-j):

#print(i) #01234567 0123456 012345依次类推 01 0

ifalist[i] > alist[i+1]:

alist[i],alist[i+1]=alist[i+1],alist[i]

count+=1

# print(i)

# return

if0==count:

return

if__name__=="__main__":

li=[54,26,93,17,77,31,44,55,20]

print(li)

bubble_sort(li)

print(li)

"""

res:

[54, 26, 93, 17, 77, 31, 44, 55, 20]

[17, 20, 26, 31, 44, 54, 55, 77, 93]

"""

参考资料:

网上的教程

如果觉得《python算法与数据结构-冒泡排序算法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。