weewee 发表于 2015-7-13 08:32:03

python用for循环实现冒泡排序

下面实现用for循环实现冒泡排序(升序)

1
2
3
4
5
6
arr=
for i in range(1,len(arr)):
    for j in range(0,len(arr)-i):
      if arr>arr:
            arr,arr=arr,arr
print arr




以升序为例,冒泡排序的原理就是依次比较相邻的两个数,每次循环后把最大的数交换到最右边

1
2
3
4
5
6
7
8
arr=
print '未排序前元组:',arr
for i in range(1,len(arr)):
    for j in range(0,len(arr)-i):
      if arr>arr:
            arr,arr=arr,arr
    print '第'+str(i)+'次排序:',arr
print '升序排序后元组:',arr




运行结果如下

未排序前元组:
第1次排序: 34]
第2次排序: 24, 34]
第3次排序: 23, 24, 34]
第4次排序: 12, 23, 24, 34]
第5次排序: 9, 12, 23, 24, 34]
第6次排序: 5, 9, 12, 23, 24, 34]
第7次排序: 3, 5, 9, 12, 23, 24, 34]
升序排序后元组:

页: [1]
查看完整版本: python用for循环实现冒泡排序