PHP前端开发

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

百变鹏仔 3小时前 #Python
文章标签 写法

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

#!/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