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

#!/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]
登录后复制

以上实例输出结果为:

请输入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个数进行排列的详细内容,更多请关注Work网其它相关文章!

09-11 05:57