首頁  >  文章  >  後端開發  >  冒泡排序有哪2種寫法,用冒泡排序將10個數字排列

冒泡排序有哪2種寫法,用冒泡排序將10個數字排列

Tomorin
Tomorin原創
2018-08-17 14:46:235161瀏覽

可以採用冒泡排序,每次把相鄰的兩個比較大小,然後把大一點兒的數據放在最後面,這樣第一趟下來,最大的那個數就跑到了最後面,下一次排序就不用跟最後一個數字比較了,然後倒數第二大的數字會在倒數第二...因此可以使用兩個函數,一個用於控制每一趟比較的元素個數,一個用於交換:

#!/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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn