投稿日 | 2019/12/07(Sat) 10:30:05 |
---|---|
投稿者 | 陸 |
参照先 | https://riku22.net |
お世話になっております。
多次元配列を匿名手順で並び替えようとしています。
この際、複数のキーで並び替えをするには、どうしたらよいのでしょうか。
とりあえず、サンプルソースです。
----- サンプルソース -----
ーーテスト用の配列を作成。
ーー今回は、4×3の配列を作成しているが、実際に扱おうとしている配列は、もう少し要素が多い。
配列は、{
{「A」, 「テスト1」, 20},
{「B」, 「テスト2」, 21},
{「A」, 「テスト3」, 22},
{「B」, 「テスト4」, 23},
}
配列を『
それを{左,右}とみなす
もし左(1)<右(1)なら
-1を返す。
他でもし左(1)>右(1)なら
1を返す。
そうでなければ
0を返す
もし終わり
』で並び替える
配列を改行で繋げて表示する
--------------------
このソースコードを実行すると、単純に下記の結果が得られます。
----- 実際の実行結果 -----
{A,テスト3,22}
{A,テスト1,20}
{B,テスト4,23}
{B,テスト2,21}
--------------------
ただ、今回は2番目の要素でも並び替えを行いたく、下記のような実行結果にしたいと考えています。
----- 想定される実行結果 -----
{A,テスト1,20}
{A,テスト3,22}
{B,テスト2,21}
{B,テスト4,23}
--------------------
このような順番に並び替えるには、並び替えの手順をどのように書けばいいんでしょうか。
単純に1番目の要素で並び替えを行ったあと、2番目の要素で並び替えを行うだけではうまくいかず、最初に宣言したときと同じような並び順になってしまいます。
何かよい方法があれば、アドバイスをいただけると幸いです。
以上、よろしくお願いいたします。
- WebForum -