物事のリスト (ここでは単純にするために数字) があり、SortBy を使用してそれらを並べ替えるために使用したい関数があるとします。たとえば、次の例では、数字のリストを最後の桁で並べ替えます。
SortBy[{301, 201}, Mod[#,10]&]
そして、これらの数字のうち 2 つ (つまり、すべて) の最後の桁が同じであることに注目してください。したがって、それらをどの順序で返すかは問題ではありません。この場合、Mathematica は逆の順序でそれらを返します。元のリストでアイテムがどのように順序付けられているかを優先して、すべての関係が解消されるようにするにはどうすればよいですか?
(些細なことだとはわかっていますが、これは時々出てくる気がするので、StackOverflowで入手すると便利だと思いました。誰も私を打ち負かしなければ、思いついたものを答えとして投稿します.)
これをより検索しやすくするための試み: 乱れを最小限に抑えた並べ替え、スワップ数を最小限に抑えた並べ替え、カスタム タイブレーク、コストのかかるスワップによる並べ替え、安定した並べ替え。
PS:これが安定ソートと呼ばれることを指摘してくれたNicholasに感謝します。それは私の舌の先にありました!ここに別のリンクがあります: リンク