冒泡排序有哪2种写法,用冒泡排序对10个数进行排列


本文摘自php中文网,作者Tomorin,侵删。

可以采用冒泡排序,每次把相邻的两个比较大小,然后把大一点儿的数据放在最后面,这样第一趟下来,最大的那个数就跑到了最后面,下一次排序就不用跟最后一个数字比较了,然后倒数第二大的数字会在倒数第二...因此可以使用两个函数,一个用于控制每一趟比较的元素个数,一个用于交换:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

#!/usr/bin/python

# -*- coding: UTF-8 -*-

 if __name__ == "__main__":    N = 10

    # input data

    print '请输入10个数字:\n'

    l = []

    for i in range(N):       

          l.append(int(raw_input('输入一个数字:\n')))

    print

    for i in range(N):       

          print l[i]

    print

  

    # 排列10个数字

    for i in range(N - 1):

           min = i

        for j in range(i + 1,N):       

             if l[min] > l[j]:min = j

        l[i],l[min] = l[min],l[i]

    print '排列之后:'

    for i in range(N):  

        print l[i]

以上实例输出结果为:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

请输入10个数字:

输入一个数字:5

输入一个数字:3

输入一个数字:23

输入一个数字:67

输入一个数字:2

输入一个数字:56

输入一个数字:45

输入一个数字:98

输入一个数字:239

输入一个数字:9

5

3

23

67

2

56

45

98

239

9

 

排列之后:

2

3

5

9

23

45

56

67

98

239

以上就是冒泡排序有哪2种写法,用冒泡排序对10个数进行排列的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python中实现指定时间调用函数的方法讲解

Python tqmd模块实现进度条显示法

Python面向对象是什么?分析Python面向对象实例来解密

Python中tuple指什么

Python32位和64位有什么区别

Python如何修改文件夹名称

Python是面向对象吗

Python有64位的吗

Python可以开发网页吗

Python如何重命名文件

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...