python冒泡函数 python冒泡法排序代码

python写冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法 。
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来 。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成 。
这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序” 。
中文名
冒泡排序
外文名
Bubble Sort
所属学科
计算机科学
时间复杂度
O(n2)
算法稳定性
稳定排序算法
快速
导航
算法分析算法描述优化算法比较
算法原理
冒泡排序算法的原理如下:[1]
比较相邻的元素 。如果第一个比第二个大,就交换他们两个 。[1]
对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对 。在这一点 , 最后的元素应该会是最大的数 。[1]
针对所有的元素重复以上的步骤,除了最后一个 。[1]
持续每次对越来越少的元素重复上面的步骤 , 直到没有任何一对数字需要比较 。
用python写出冒泡算法def bubbleSort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# Last i elements are already in place
for j in range(0, n-i-1):
if arr[j]arr[j 1] :
arr[j], arr[j 1] = arr[j 1], arr[j]
arr = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(arr)
print ("排序后的数组:")
for i in range(len(arr)):
print ("%d" %arr[i]),
在python中怎么进行冒泡排序呢?python代码和运行结果如下:
可见成功将乱序数组A按升序输出
附源码链接:冒泡排序
python冒泡排序的测试函数,给个例子,谢谢def bubbleSort(myList):
# 首先获取list的总长度,为之后的循环比较作准备
length = len(myList)
# 一共进行几轮列表比较,一共是(length-1)轮
for i in range(0, length - 1):
# 每一轮的比较,注意range的变化,这里需要进行length-1-长的比较,注意-i的意义(可以减少比较已经排好序的元素)
for j in range(0, length - 1 - i):
# 交换
if myList[j]myList[j1]:
tmp = myList[j]
myList[j] = myList[j1]
myList[j1] = tmp
# 打印每一轮交换后的列表
for item in myList:
print(item)
print("=============================")
print("Bubble Sort: ")
myList = [2,0,1,8,0,3,0,2]
bubbleSort(myList)
【python冒泡函数 python冒泡法排序代码】关于python冒泡函数和python冒泡法排序代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读