Python 排序(Sorting)

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

筆者有用C++來解高中生解題系統上的 高中生程式解題系統:排序 Sorting
(題目連結:https://zerojudge.tw/ShowProblem?problemid=a104) 一題。

本篇換用 Python 程式語言來解。雖然本部落有介紹過一些常見的排序演算法:「Python 排序演算法範例 ( Sorting Algorithms in Python )」。但因為 Python 有內建的排序函數 list.sort與sorted 可用,排序部分就用內建函數了。於是針對此題的演算法會變成如下:
讀取正整數 n
讀取一行正整數數列 line
設定 numbers 為空串列
將數列 line 每一個正整數加到 numbers 中
對 numbers 排序並輸出結果
Python程式碼:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import sys

while True:
    line = sys.stdin.readline()
    if not line:
        break

    n = int(line)

    line = sys.stdin.readline()
    numbers = []
    for x in line.split():
        numbers.append(int(x))

    for x in sorted(numbers):
        print(x, end=" ")

    print()

沒有留言: