读入所有数字后调用 list.sort 原地升序排序,再按空格输出。
OJ: luogu
题目 ID: P1177
难度:普及-
标签:排序模板题python
日期: 2026-07-06 20:42
题意
给出 n 个整数,把它们从小到大排序后输出。
思路
Python 列表自带排序方法:
python
numbers.sort()它会原地把列表按升序排列。数据量 n <= 10^5,直接使用内置排序即可。
历史目录中保留了 C++ 文件;本文以 Python 模板写法为准,不创建 brute.py。
Python 知识
/home/rainboy/mycode/hugo-blog/content/program_language/python/sorting_and_ordering.md:list.sort()原地排序,sorted()返回新列表。/home/rainboy/mycode/hugo-blog/content/program_language/python/oj_input_output_cheatsheet.md:大量整数可以用sys.stdin.buffer.read().split()读取。print(*numbers)默认用空格分隔输出。
代码
python
import sys
data = list(map(int, sys.stdin.buffer.read().split()))
n = data[0]
numbers = data[1:1 + n]
numbers.sort()
print(*numbers)Pythonic 写法
sorted 快读:
python
import sys
data = list(map(int, sys.stdin.buffer.read().split()))
print(*sorted(data[1:1 + data[0]]))复杂度
Python 内置排序时间复杂度是
总结
排序模板题的 Python 写法就是读入列表、调用 sort()、输出。重点是分清 sort() 会修改原列表且返回 None。