菜鸟笔记
提升您的技术认知

Python 不用sort对列表排序

有道面试题: L = [2,3,5,4,9,6,8,7,1],从小到大排序,不许用sort,输出[1,2,3,4,5,6,7,8,9]

如果用sort很简单,如果不用sort的话,处理起来就麻烦些,处理思路大致:

创建一个空列表,遍历原先列表,找出最小值,放到空列表中,原列表弹出该值,直到无值。

有了上面的思路,就好处理了:

>>> L = [2,3,5,4,9,6,8,7,1]
>>> T = []
>>> while len(L) > 0:
...     m = min(L)
...     L.remove(m)
...     T.append(m)
>>> T
[1, 2, 3, 4, 5, 6, 7, 8, 9]