(1)冒泡法排序:冒泡法排序类似于水泡在上升过程中越来越大,冒泡法排序是两个相邻元素之间进行比较,如果想将某组数使用冒泡法安照升序方式排序,当比较相邻两个元素时,发现前面的元素的值大 于后面的元素的值,此时不满足想要的升序排序,需要将前后两个元素的值互换,满足后面元素的值大于或等于前面元素的值。 (2)冒泡法排序举例:将一组数2,5,8,9,0进行冒泡法升序排序(从左到右进行相邻元素的比较) 经过第一遍排序后:2,5,8,0,9 经过第二遍排序后:2,5,0,8,9 经过第三遍排序后:2,0,5,8,9 经过第四遍排序后:0,2,5,8,9 通过上面的实例演示我们可知将5个元素的一组数排序需要进行4遍相邻两个元素之间比较,即一组n个元素的数组要将他进行冒泡法排序,则需要进行n-1遍相邻两个元素之间比较。 (3)冒泡法排序的python代码: 升序排序: 例子: 创建一个空列表,向这个列表中添加数字元素,直到输入finish时,停止输入,并对所输入的所有数据进行冒泡法排序。并将排序后的结果输出。 代码:
a=[] #创建一个空列表 i=1 while i == 1: a1=input("请输入一个数:") if a1 == "finish": break #如果输入的是字符串"finish",则跳出循环 #如果这个不是字符串"finish",则将该数值添加到列表a中 #键盘中输入的数值是字符类型,列入"1",所以要使用方法float()或int()将字符类型转换为浮点型或者整型 a2=float(a1) a.append(a2) #使用列表对象的append()方法,将a2的数值添加到列表a中 print("输入的列表为:",a) #冒泡法排序 a3=len(a) #将a列表长度的值赋给变量a3 for b in range(1,a3,1): for c in range(0,a3-b,1): if a[c]>a[c+1]: t=a[c+1] a[c+1]=a[c] a[c]=t print("冒泡法排序后的列表为:",a)运行结果: