您的位置:首页 > 编程语言 > Python开发

python版冒泡排序

2017-04-22 18:58 211 查看
从第一个元素开始,对数组中两两相邻的元素比较,将值较小的元素放在前面,值较大的元素放在后面,一轮比较完毕,一个最大的数沉底成为数组中的最后一个元素,一些较小的数如同气泡一样上浮一个位置。n个数,经过n-1轮比较后完成排序。假定有下标为0~n的n+1个数的序列,要求按升序排列,实现的步骤如下:(1)从第0个元素开始与后一个比较,如果比后大两元素交换,依次比较到第n个元素,最终将最大的数换入第n个元素中,a(n)不动(2)重复(1) ,依次比较到第n-1个元素,最终将最大的数换入第n-1个元素中,a(n-1)不动(3)重复(1) ,依次比较到第n-2个元素,最终将最大的数换入第n-2个元素中,a(n-2)不动………………………………………(n)a(0)与a(1)比较,如果a(0)大,与a(1)交换, a(0)最小
代码实现:#coding:utf-8

arr = []

#冒泡排序函数
def BubbleSort():
for i in range(len(arr)-1):
for j in range(len(arr)-i-1):
if arr[j+1] < arr[j]: #相邻两数比较
arr[j+1],arr[j] = arr[j],arr[j+1] #交换两个数

#打印函数
def PrintAns():
for i in arr:
print(i,end=" ") #以空格分开来输出

#主函数
sum = int(input("请输入需要测试的个数:"))
str_in = input("以空格分开%d个数据:" %sum) #输入的是一串字符串,为以空格为间隔输入打下基础
for i in str_in.split(): #以空格为间隔取str_in中的值
arr.append(int(i)) #先把i对应转换成int类型,然后再添加到arr列表
BubbleSort() #调用BubbleSort()函数
PrintAns() #调用PrintAns()函数





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 元素 最大的