1

そのため、いくつかの異なる並べ替え方法 (クイック、マージ、および挿入) を実装してきましたが、少し非現実的で、誰かが動作の背後にある思考プロセスを説明できるかどうか疑問に思っていました。

ソートしようとしているリストは次のとおりです。

[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"]

お早めにどうぞ!

4

1 に答える 1

0

OP でデモンストレーションしているそれぞれの 2 つの出力は、次のように取得できます。

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"]

もう一度、質問は何でしたか?

于 2013-10-14T00:33:24.597 に答える