冒泡排序有哪2种写法,用冒泡排序对10个数进行排列
可以采用冒泡排序,每次把相邻的两个比较大小,然后把大一点儿的数据放在最后面,这样第一趟下来,最大的那个数就跑到了最后面,下一次排序就不用跟最后一个数字比较了,然后倒数第二大的数字会在倒数第二...因此可以使用两个函数,一个用于控制每一趟比较的元素个数,一个用于交换:
#!/usr/bin/python# -*- coding: UTF-8 -*- if __name__ == "__main__": N = 10 # input data print '请输入10个数字:' l = [] for i in range(N): l.append(int(raw_input('输入一个数字:'))) 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输入一个数字:953236725645982399排列之后:23592345566798239