可以採用冒泡排序,每次把相鄰的兩個比較大小,然後把大一點兒的數據放在最後面,這樣第一趟下來,最大的那個數就跑到了最後面,下一次排序就不用跟最後一個數字比較了,然後倒數第二大的數字會在倒數第二...因此可以使用兩個函數,一個用於控制每一趟比較的元素個數,一個用於交換:
#!/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個數字排列的詳細內容。更多資訊請關注PHP中文網其他相關文章!