可以采用冒泡排序,每次把相邻的两个比较大小,然后把大一点儿的数据放在最后面,这样第一趟下来,最大的那个数就跑到了最后面,下一次排序就不用跟最后一个数字比较了,然后倒数第二大的数字会在倒数第二...因此可以使用两个函数,一个用于控制每一趟比较的元素个数,一个用于交换:#!/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')))
for i in range(N):
print l[i]
# 排列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个数进行排列的详细内容,更多请关注php中文网其它相关文章!
本文原创发布php中文网,转载请注明出处,感谢您的尊重!