【发布时间】:2021-10-04 18:07:27
【问题描述】:
如果我有一个每次长度都不同的列表,并且我想将其从低到高排序,我该怎么做?
如果我有:[-5, -23, 5, 0, 23, 0.7, -6, 23, 67]
我要:[-23, -6, -5, 0, 0.7, 5, 23, 23, 67]
我尝试使用 for 循环来迭代列表并创建一个新列表来接收数字,但看起来它不起作用。也许我可以改用Enum 函数,但我真的没有这个想法。
【问题讨论】:
-
题主说“没有内置排序功能”,是不是说不想使用Enum.sort?
-
没错,我不能用它
-
为什么不呢?它适用于每个 Elixir 系统。你在做运动吗?排序是一个基本的计算机科学问题,所以如果你必须编写自己的算法,首先你必须选择哪一个。 Elixir 是不可变语言,其选项与可变语言不同(例如,快速排序在 Elixir 中效果不佳)。
Enum.sort使用归并排序。 -
是的,这是一起学习灵药和计算机科学的练习
-
您希望有人为您编写排序算法吗?那你什么都学不到,还不如看看现有的实现。
标签: list sorting elixir elixir-iex