fetus Diary

2007/12/09(日) - C++@mixi

リンクリスト、スタック、キュー、2分探索木を使って、ファイルから入力した数字を逆順に表示するプログラムを作成せよ

スタック(大目に見てリンクリスト)以外を使う理由がまったく見当たらない。っていうか、使い方間違えてるとしか。

stack は FILO(机の上に本を積み重ねたと考えるとわかりやすいかも。最初に積んだ本は、いかさまをしない限り最後に取り出すことになる。だから、First-In(最初のものが) Last-Out(最後に出てくる)) だから題意そのまま。

リンクリストは、双方向リンクリストを使うか先頭に要素を push していって先頭から pop するという FILO を構築しないといけないから微妙。

queue は原則として FIFO(First-In First-Out。順番待ちの行列みたいな感じ。最初の人が最初に行列から取り出される) だわな。優先度付き queue ってのもあるけどこの場合そぐわないし。

2 分木? それこの用途に使おうと考えるほうがすごいとかそんな感じ。いや、できるのよ。木のバランス取れないだろうけど。しかしなぁ、2 分探索木って奴は自分より大きいものを右に、小さいものを左に配置するような木を言うものだったような気がするんだよなぁ。となると、入力順を index としてもっておいてその逆順に走査するというアホなことをやらないといけないことになるんだよなぁ。

コメント

コメントはありません。

名前
メール
コメント

※HTML タグは使えません。HTTP URL には自動リンクが張られます。

Captcha
画像から読み取れる文字を入力: