python用for循环实现冒泡排序

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

arr=[5,9,34,3,24,12,23,2]
for i in range(1,len(arr)):
    for j in range(0,len(arr)-i):
        if arr[j]>arr[j+1]:
            arr[j],arr[j+1]=arr[j+1],arr[j]
print arr

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

arr=[5,9,34,3,24,12,23,2]
print ‘未排序前元组:‘,arr
for i in range(1,len(arr)):
    for j in range(0,len(arr)-i):
        if arr[j]>arr[j+1]:
            arr[j],arr[j+1]=arr[j+1],arr[j]
    print ‘第‘+str(i)+‘次排序:‘,arr
print ‘升序排序后元组:‘,arr

运行结果如下

未排序前元组: [5, 9, 34, 3, 24, 12, 23, 2]

第1次排序: [5, 9, 3, 24, 12, 23, 2, 34]

第2次排序: [5, 3, 9, 12, 23, 2, 24, 34]

第3次排序: [3, 5, 9, 12, 2, 23, 24, 34]

第4次排序: [3, 5, 9, 2, 12, 23, 24, 34]

第5次排序: [3, 5, 2, 9, 12, 23, 24, 34]

第6次排序: [3, 2, 5, 9, 12, 23, 24, 34]

第7次排序: [2, 3, 5, 9, 12, 23, 24, 34]

升序排序后元组: [2, 3, 5, 9, 12, 23, 24, 34]

时间: 2024-10-10 20:05:58

python用for循环实现冒泡排序的相关文章

【Python之路22】冒泡排序算法

1.变量互换 a = 123 b = 456 temp = a a = b b = temp python比较简单的变量互换: a = 123 b = 456 a,b = b,a print(a,b) 2.将列表中最大的值放置到最后 #!usr/bin/env python # -*- coding:utf-8 -*- li = [11,44,33,66,22] for i in range(len(li)-1): if li[i] > li[i+1]: temp = li[i] li[i] =

Python中的循环语句

Python中有while循环和for循环 下面以一个小例子来说明一下用法,用户输入一些数字,输出这些数字中的最大值和最小值 1 array = [5,4,3,1] 2 3 for i in array: 4 print(i) 5 6 largest = None 7 smallest = None 8 while True: 9 num = input("Enter a number: ") 10 if num == "done" : break if len(n

python练习题:循环打印嵌套列表

好久没写博文了,添加一个练习题,选自<head_first_python>~~ python列表:以中括号开始和结束"[]":列表项以逗号","分隔开,使用赋值操作符"="赋予一个标识符.如: movies=["the holy",1975,"terry jones",91,["graham",["michael","john",&qu

python基础之循环结构以及列表

python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成开发环境(IDE,Integrated Development Environment ) 常用的编程语言IDE开发工具有如下一些: VIM #经典的linux下的文本编辑器 Emacs #linux 文本编辑器, 比vim更容易使用 Eclipse # Java IDE,支持python, c ,

22:python中的循环控制语句

循环控制语句可以更改语句执行的顺序.Python支持以下循环控制语句: 控制语句 描述 break 语句 在语句块执行过程中终止循环,并且跳出整个循环 continue 语句 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环. pass 语句 pass是空语句,是为了保持程序结构的完整性. 22.1 break语句 Pythonbreak语句,就像在C语言中,打破了最小封闭for或while循环. break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,

Python for &while 循环

1        循环 1.1   For in循环 [[email protected] python]# cat for.py #!/usr/bin/python # -*- coding:utf-8 -*- list=[1,2,3,4,5] for i in list: print(i) list=(1,2,3,4,[3,4],(3,4)) for i in list: print(i) [[email protected] python]# python !$ python for.py

Python进阶05 循环设计

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在"循环"一节,我们已经讨论了Python基本的循环语法.这一节,我们将接触更加灵活的循环方式. range() 在Python中,for循环后的in跟随一个序列的话,循环每次使用的序列元素,而不是序列的下标. 之前我们已经使用过range()来控制for循环.现在,我们继续开发range的功能,以实现下标对循环的控制: S = 'abcdefghijk' for i

Python之 for循环\while循环

list或tuple可以表示一个有序集合.如果我们想依次访问一个list中的每一个元素呢?比如 list: L = ['Adam', 'Lisa', 'Bart'] print L[0] print L[1] print L[2] 如果list只包含几个元素,这样写还行,如果list包含1万个元素,我们就不可能写1万行print. 这时,循环就派上用场了. Python的 for 循环就可以依次把list或tuple的每个元素迭代出来: L = ['Adam', 'Lisa', 'Bart']

Python基础06 循环

Python基础06 循环 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系.循环也会用到类似的写法. for循环 for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次. 基本构造是 for 元素 in 序列: statement 举例来说,我们编辑一个叫forDemo.py的文件 for a in [3,4.4,