新型F15/F22について語るスレ

このエントリーをはてなブックマークに追加
238動け動けウゴウゴ2ちゃんねる
>>222,229 の例だと
上位
 1002543143
 1013568983
  :
  :
 1144727916
  :
 現行の最新の
 980683707   1桁少ないけど先頭の文字はでかいぞ
 981539380
  :
 996432654
下位
こうソートされて上位から優先して死んでいくんだな
239動け動けウゴウゴ2ちゃんねる:2014/01/10(金) 19:58:43.61 ID:OGedCYlq0 BE:185976959-DIA(100078)
何で作ってるかわかんないけどperlなら

@list = sort(@arr);

って書くと文字列辞書順になるよ

@list = sort { $a <=> $b } @arr;

なら数値順。
240動け動けウゴウゴ2ちゃんねる:2014/01/10(金) 20:00:42.70 ID:OGedCYlq0 BE:185976195-DIA(100078)
昇順降順逆なら$b <=> $a
241動け動けウゴウゴ2ちゃんねる:2014/01/10(金) 20:11:09.43 ID:Rp6CHxM60
ソートで並べ替え
先頭から(ファイルの中を見て判定し)予定数分落としたら打ち切り

中を見なくても、ファイル名でおおよその時期が判る(作った順のシリアル値だから)のは良かったが
桁数変わりで 単純な文字列比較だと大小が裏返えって後回しにされる、古いスレがでてしまうと

対処として、値でソートするか、ソートの条件に文字列長を考慮するか かな?

C で qsort 用だと
int cmp(const char* c1, const char* c2)
{
 int l1 = strlen(c1);
 int l2 = strlen(c2);
 if (l1 < l2) return -1;
 else if (l1 > l2) return 1;
 retunr strcmp(c1, c2);
}
こんな按配
242動け動けウゴウゴ2ちゃんねる:2014/01/10(金) 20:11:23.33 ID:QZaDd/Wj0
>>238
なるほどー
243動け動けウゴウゴ2ちゃんねる:2014/01/10(金) 20:24:56.37 ID:otH53y/b0
型のない言語ってこういうときに牙をむくよね。。。

場合によってはsortじゃなくて
globで返ってきたファイル群を上から順に処理してるだけかも
あれも文字列辞書順だったはず