• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ヒープソートは2重ソートできない?)

ヒープソートの2重ソートに関する疑問

このQ&Aのポイント
  • ヒープソートを使用して2つの配列をソートする際、片方をソートするともう一方も連動してソートされる現象が発生するが、同じ数字が含まれる場合は連動が正しく行われない問題がある。
  • 特定の解決方法を求めており、n1の内容が同じ場合にn2を昇順に並べる処理を行っても、実際にはn2の内容は正しく並べ替えられない。
  • 問題がヒープソートに関連しているかどうかや、他の解決方法が存在するかについての情報を求めている。

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

  • ベストアンサー
  • takebe
  • ベストアンサー率65% (17/26)
回答No.1

n1,n2の組について辞書式の順序で整列すればどのソートアルゴリズムでも並び替えられると思います. 辞書式の順序とは,例えば,(5, 7) と (5, 9) とを比べると,n1 の 5 は同じなので n2 を比べて (5, 9) の方が大きいとするような順序です. 順序がつけられない要素でももともと並んでいた順番が保たれるという性質は何か名前がついていたと思いますが,忘れてしまいました.岩波のアルゴリズムとデータ構造の本に書いてあったと思うのですが... n1 のみを比べてソートしようとするなら,マージソートのようにその性質をもった別のソートアルゴリズムを使えばよいと思います.

noname#25358
質問者

お礼

 ありがとうございます。  ためしにクイックソートでロジックを組んでみたところ、見事にプログラムがハングりまして、けっきょくヒープソートでやるしかなさそうです(^_^;  もともと高校が職業高校だった関係上、数学でそういう勉強を一切してないので、中学生並みの知識で理解できる方法しか使えないのです(笑) ヒープソートはインターネットに落ちていたからよかったのですが(^_^;  やはりヒープソートでは無理でしょうかね。