python冒泡排序简单实现方法
创新互联公司服务项目包括横峰网站建设、横峰网站制作、横峰网页制作以及横峰网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,横峰网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到横峰省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
这篇文章主要介绍了python冒泡排序简单实现方法,实例分析了Python冒泡排序的简单实现技巧,具有一定参考借鉴价值。
分享给大家供大家参考。具体实现方法如下:
#!/usr/bin/pythonimportrandomdefbubble_sort(data): length=len(data) foriinrange(len(data)-1): forjinrange(len(data)-1): if(data[j] data[j+1]): tmp=data[j] data[j]=data[j+1] data[j+1]=tmpr=random.Random()data=[]forninrange(0,20): data.append(r.randint(1,300))printdata,len(data)bubble_sort(data)printdata
运行结果如下:
[115, 14, 246, 125, 94, 78, 275, 163, 64, 72, 245, 1, 97, 53, 86, 270, 137, 69, 74, 182] 20
[275, 270, 246, 245, 182, 163, 137, 125, 115, 97, 94, 86, 78, 74, 72, 69, 64, 53, 14, 1]
希望本文所述对大家的Python程序设计有所帮助。
new2=Xx
Xx代表的是数组的地址, new2=Xx new2也是数组的地址
对new2地址中对象的改变,也是对Xx代表的同一对象的改变
将 new2=Xx ,改为
new2=Xx[:]
复制全部数组元素到 new2中就不会改变Xx了
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[j + 1]:
tmp = myList[j]
myList[j] = myList[j + 1]
myList[j + 1] = tmp
# 打印每一轮交换后的列表
for item in myList:
print(item)
print("=============================")
print("Bubble Sort: ")
myList = [2,0,1,8,0,3,0,2]
bubbleSort(myList)
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]),