題目連結

https://zerojudge.tw/ShowProblem?problemid=a539

https://onlinejudge.org/index.php?option=onlinejudge&Itemid=8&page=show_problem&problem=1268

參考文章

本題要點

Bubble Sort!!

實作氣泡排序,並且在每次互換時將變數加一

我將第二層 j 迴圈設為 (n - i - 1),略過已經排完的區域

可以有效的省一點時間,增加效率

"""
 3 4 1 2
|
 3 1 4 2
|
 3 1 2 4
|
 1 3 2 4
|
 1 2 3 4
"""

上方是氣泡排序的過程(有略過一些步驟),可以發現每次都將最大的往後移

i = 0 時,將最大的數「4」移到最後

i = 1 時,將第二大的數「3」移到倒數第二的位置,會發現完全沒有「4」的事情

所以可以忽略,不用讓 j 迴圈跑進去浪時間~

參考解答

解一: