筆者有用C++來解高中生解題系統上的 高中生程式解題系統:排序 Sorting
(題目連結:https://zerojudge.tw/ShowProblem?problemid=a104) 一題。
本篇換用 Python 程式語言來解。雖然本部落有介紹過一些常見的排序演算法:「Python 排序演算法範例 ( Sorting Algorithms in Python )」。但因為 Python 有內建的排序函數 list.sort與sorted 可用,排序部分就用內建函數了。於是針對此題的演算法會變成如下:
本篇換用 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() |
沒有留言:
張貼留言