アプリ版:「スタンプのみでお礼する」機能のリリースについて

トランプのダイヤのカードが13枚ある。
順序はバラバラになっている。
小さい順に並べるアルゴリズムを考えよ。

という課題が出されました。
アルゴリズムの意味はわかるのですが、やり方がさっぱりわかりません。確率の考え方を使うのですか?

ヒントでもいいので教えてください。
よろしくお願いします。

A 回答 (8件)

#7です。


すみません。「元祖」バブルソートは、次のアルゴリズムです。
このほうがビールの泡に似ています。

iを1から12まで繰り返す
--i番目とi+1番目のカードを比べ前者が大きければ交換
上記を1ループとして、これを無限に繰り返す
1ループの中で交換が1回も行われなければ終了

#7で紹介したものはバブルソートの変形です。正確な名前は知らないので、どなたか助け舟を。
    • good
    • 0

質問者さんは初心者とお見受けします。

もし違ったらごめんなさい。
まず「バブルソート」を覚えてください。これは、コップの中の泡が次第に上がっていくようすを指します。

i を1から12まで繰り返す
--jをi+1から13まで繰り返す
----i番目がj番目より大きければ入れ替える

で完成です。実際にダイヤ13枚と、「i」「j」と書いた札を用意して、机の上でやってみましょう。あとはプログラミングですね。

ちょっと丸投げ質問の疑いもありますが、このあと自力でプログラミングができるなら、よしとしましょう。
    • good
    • 0

> トランプのダイヤのカードが13枚、


これって別々のカードですか? もし、そうならソートする必要なんかなくて、データを作ってしまえばいいんですけど。

そうでないなら、ソートすることになりますが、トランプのカードなら、値が限定されているのでビンソートが高速でしょうね。
    • good
    • 0

数分差で #4 さんに先に書かれちゃいました … (^^;



#4 さんのアルゴリズムはビンソート (バケットソートなどともいう) といい,
私の知る限り最速のソートアルゴリズムで,データ数 (この場合は13枚) に
比例する時間でソートできます.しかしキーが整数型以外の場合には
使いにくいせいか,あまり知られていないようです.

「ビンソート」で Google 検索
http://www.google.co.jp/search?sourceid=navclien …

ソート (Wikipedia)
http://ja.wikipedia.org/wiki/Category:%E3%82%BD% …
    • good
    • 0

実際にトランプを番号順に並べたいときどうしますか,


いろいろな方法が思いつきますが,どれかひとつを子供でもできるように説明すれば,アルゴリズムになっているでしょう。
例えば,
(1)カードを置くスペースを13箇所確保し,左から1~13番とする。
(2)カードを1枚めくって,ランクがkだったらk番目の位置に置く。
(3)(2)を13回繰り返す。
    • good
    • 0

「フローチャート」ってご存知ですか?


流れ図のことです。

下の方の回答にもありますので具体的なソート(順序入れ替え)方法は割愛しますが、
アルゴリズムの回答としては、
フローチャートでソートの流れを
書くのが一般的でわかりやすいと思います。

http://www2.ee.knct.ac.jp/el/E2/L210/algorism/fl …
    • good
    • 0

トランプということは、1~13枚のうち、


 1→A
 11→J
 12→Q
 13→K
ということになります。

簡単に小さい順に並び替えるとすれば、隣通しを比較して場所を入れ替えていき、入れ替えがなくなれば小さい順に並んでいるはずです。
    • good
    • 0

ソートアルゴリズムなら単純交換法(バブルソート)や単純選択法、単純挿入法などがあります。

(他にマージソート、クイックソートなど)それらの言葉で検索してみてはいかがでしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!