• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ソートについて)

CGIを使ってデータを組み合わせてソートする方法

このQ&Aのポイント
  • jcode.plを使用してCGIを作成しています。与えられたデータを組み合わせ、昇順にソートする方法を教えてください。
  • データの組み合わせパターンを生成し、それを昇順にソートさせる方法を教えてください。CGIを使用してjcode.plで作業しています。
  • CGIを使ってデータのフィールドを組み合わせ、昇順にソートする方法を教えてください。データの数字はサンプルで、データの組み合わせパターンを生成したいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • nipotan
  • ベストアンサー率59% (134/227)
回答No.1

質問の意図や目的が、上記文章では全然理解できないので、私の解釈が意図とハズれてたらごめんなさい。 要するに、配列の全ての要素に対して、総当りで、3 つの数字の組み合わせを作り、ハイフンで区切り、その数字がソートされていればいいんでしょうか。 そして、その組み合わせを全パターン作ればいいんでしょうか。 同じ組み合わせ (たとえば 13-13-13 とか) は作らないって事でいいんですよね? --- my @data = (13, 5, 7, 2, 10, 9, 6); my @sorted = (); for(my $i = 0; $i < @data; $i++){ for(my $j = 0; $j < @data; $j++){ next if $j == $i; for(my $k = 0; $k < @data; $k++){ next if $k == $i || $k == $j; push(@sorted, join '-', sort{ $a <=> $b }@data[$i, $j, $k]); } } } print join "\n", @sorted; --- これでどうでしょうか。 (もっといいアルゴリズムはありそうですが、とりあえず…)

macky0225
質問者

お礼

ご回答ありがとうございます。 意図するコトの説明って難しい・・・以前から説明下手なもので・・・(^^ゞ でも、「nipotan」様の御解釈どおりです。理解してくださってありがとうございます。さっそく教えて頂いたソースを使ってみます。