クイックソートで並べ替え

締切り済みの質問

クイックソートで並べ替え

友人から情報処理の質問を受けました。ですが、私では良く分からなかったので質問します。

2,4,8,1,6,5,2,7,3,7の整数をクイックソートで並べ替えよ。
また、比較回数を示せ(軸要素は先頭の2要素のうち大きいほうとせよ)。

よろしくお願いします。

投稿日時 - 2008-12-17 02:50:01

QNo.4561853

すぐに回答ほしいです

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

回答(5件中 1~5件目)

ANo.5

この場所では「課題の丸投げ」は禁止されているので解答に自信が無いなら、その解答を示して正否を問うのがルールです。
その友人の解答をここに提示してください。

投稿日時 - 2008-12-18 20:00:50

ANo.4

No.3 です。

>私含めて本人もソースだとかプログラムが一切分かりません。
>手順自体は、検索したようで理解しているらしいのですが、回答に自信がないらしく正解を知りたいとのことです。

 「C&C++でプログラムし、結果(比較回数)を回答しろ」、ということですね。
 でしたらこのコミュニティーには相応しくないのでは・・。

☆アンケート形式にしちゃえば、ぎりぎりセーフかも。

 昇順にソートしたとき、比較○回に1票。
 降順にソートしたとき、比較◇回に1票・・とか。

>軸要素は先頭の2要素のうち大きいほうとせよ

 って、対象が、2,4,8,1,6,5,2,7,3,7 となっていることから自明ですよね。
 (「先頭」は1つしかないっつうツッコミは無しとして)

☆「軸要素は4とせよ」という記述ではないことから、やはり(様々な条件に対応可能な)プログラムを作る、のが「そもそも」ではないでしょうか。
+++++++++++++++++++++++++++++++++++++
アンケート形式として、年寄りは、

 昇順にソートしたとき、比較 15 回に1票。
 降順にソートしたとき、比較 16 回に1票。

注:全然自信がありません(まっアンケートだから、「良」として下さい)。

「バブル」なら 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 で固定かなぁ・・?。

投稿日時 - 2008-12-18 17:23:41

お礼

返信ありがとうございます。
本人は回答よりも筋道を知りたかったようですが、自己解決したらしいのでこれにて〆ます。
何度もありがとうございました。

投稿日時 - 2008-12-22 01:30:20

ANo.3

>2,4,8,1,6,5,2,7,3,7の整数をクイックソートで並べ替えよ。

 http://okwave.jp/qa4557292.html

 この質問文中のソースに、「比較回数」処理を追加し、試されたら如何でしょう。

投稿日時 - 2008-12-17 13:08:54

補足

私含めて本人もソースだとかプログラムが一切分かりません。
手順自体は、検索したようで理解しているらしいのですが、回答に自信がないらしく正解を知りたいとのことです。

もし拝見されたら分かる限りで教えてくださるとありがたいです。
よろしくお願いします。

投稿日時 - 2008-12-18 12:34:24

ANo.2

qsortにせよ、std::sortにせよ、アルゴリズムとしてクイックソートが使われていることは保証されていません。
また、仮にクイックソートで実装されていたとしても、

> 軸要素は先頭の2要素のうち大きいほうとせよ

という要件を満たすことができません。

#1の回答のとおり、検索すればすぐに結果が得られますので、その旨お伝えください。

投稿日時 - 2008-12-17 08:20:39

補足

先の補足とダブりますが、手順自体は検索したようで理解しているらしいのです。ただ、回答に自信がないらしく正解を知りたいとのことです。

もし拝見されたら分かる限りで教えてくださるとありがたいです。
よろしくお願いします。

投稿日時 - 2008-12-18 12:33:14

ANo.1

コールバックを定義してqsort()呼び出すだけです。
参考 http://wiki.livedoor.jp/cafeboy1/d/C/C%2B%2B%20qsort(QuickSort)
C++ならSTLが使えます。
(コンパイラによってはSTLがまともに使えない事もありますが)

課題か何かでクイックソートルーチン自体を作らなければならないのでたら「ググれカス」とお伝えください。

投稿日時 - 2008-12-17 06:25:00

補足

伝えたところ、C++って何?という返答が返ってきました。
本人曰く、上記の問題はプログラムなどを使うのではなく、あくまで手動での筆記問題とのことです。
手順自体は、検索したようで理解しているらしいのですが、回答に自身がないらしく正解を知りたいとのことです。

もし拝見されたら分かる限りで教えてくださるとありがたいです。
よろしくお願いします。

投稿日時 - 2008-12-18 12:28:39

あわせてチェックしたい
  • クイックソート ...
  • クイックソート キー比較回数をカウント ...
  • クイックソート ...
PR
【回答募集中】花粉にひと言、物申す![ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら