Closed. This question is off-topic. It is not currently accepting answers. Learn more。
想改进这个问题吗Update the question所以堆栈溢出的值小于aa>。
因此,我一直在实现一些不同的排序方法(快速、合并和插入),发现这似乎有点不切实际,想知道是否有人可以解释行为背后的思维过程。
我试图排序的列表如下:
[20401, 11087, 2, 62176, 70095, 20947, 20098, 90914, 53475, 51251, 20065]
反馈是:
["11087", "2", "20065", "20098", "20401", "20947", "51251", "53475", "62176", "70095", "90914"]
如果我把2改成00002,就会得到一个正确排序的列表
["00002", "11087", "20065", "20098", "20401", "20947", "51251", "53475", "62176", "70095", "90914"]
提前谢谢!
最佳答案
您在OP中演示的两个输出分别如下:
a = [20401, 11087, 2, 62176, 70095, 20947, 20098, 90914, 53475, 51251, 20065]
a.sort.map &"%05d".method( :% )
#=> ["00002", "11087", "20065", "20098", "20401", "20947", "51251", "53475", "62176", "70095", "90914"]
a.map( &:to_s ).sort
#=> ["11087", "2", "20065", "20098", "20401", "20947", "51251", "53475", "62176", "70095", "90914"]
现在又是什么问题?