忍者ブログ

マドノマグラの初心者自作ゲーム制作日誌 迷走モード

プログラミング初心者が自作ゲームを作成してみようとする動きを記す。現在迷走中。

ブログ履歴

2010/11/06: HSP3.22の環境を整えてみる
2009/11/09: Rubyで適当版自分用関連記事リンク作成プログラムを作る
2009/06/04: Visual C++(DXライブラリ使用)の環境を整えてみるも休止状態に
2009/03/17: ActionScript勉強の環境を整えるも結局休止状態に
2006/07/15: とりあえず分岐型ゲームを作る グリーンタワーVer1.2 ダウンロード(zip)
2006/07/02: ブログスタート。NScripterで何かを作ろうとする

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

「初めてのプログラミング」10.2のソート、再帰を使う場合に苦悩する

初めてのプログラミングの10.2のソートに関して再帰を使う場合を考えてみた。

考え方は「初めてのプログラミング」10.2のソートに関して再帰を使わない場合を考えると一緒である。

今回、初めてのプログラミングのp96で、ラッパーメソッドの例として、

def sort some_array # このメソッドは recursive_sort をラップします。
recursive_sort some_array,[]
end

def recursive_sort unsorted_array,sorted_array
# ここにあなたの素敵なコードが来ます。
end
が紹介されていたけれども、この条件では、私の頭ではとけなかったので、もう1個の返り値、ソート済み配列を保持するための final_array をつけたした。

とりあえず、空行入力、"a"のみ、("b","a")、("j","b","a")、("j","a","b","a")のパターンでテストして、挙動を確認した。

果たして、元の条件でちゃんと目的を達成できるのかどうか。これもまた今後の課題になりそうだ。

初めてのプログラミング
Chris Pine
オライリー・ジャパン
売り上げランキング: 161616
おすすめ度の平均: 3.5
3 Rubyを使ってHello, Worldから
4 丁寧な解説
4 Ruby



sortofreverse0.rb


def sort some_array,final_array
recursive_sort some_array,final_array,[]
end

def recursive_sort unsorted_array,final_array,sorted_array

left = ""

unsorted_array.each do |list|
if left == ""
left = list
elsif left <= list
sorted_array.push list
else
sorted_array.push left
left = list
end
end

#この時点で leftは保存文字、sorted_array は文字置き場配列2
final_array.push left

# 内部データをしらべるため・
puts "sorted_array="
puts sorted_array
puts "unsorted_array="
puts unsorted_array
puts "final_array="
puts final_array

if sorted_array != []
sort sorted_array,final_array
end
final_array
end

# プログラム開始

origindata = []
puts "半角英数で単語を打ってね、空行でおわり"
word = gets.chomp

while word != ""
origindata.push word
word = gets.chomp
end

puts "入れ込んだデータはこちら"

puts origindata

puts "プログラムによる sort を開始します"

unsorted = origindata
sorted = sort unsorted,[]


puts "最初に入れ込んだデータはこちら"
puts origindata

puts "sort したものはこちら"
puts sorted

puts "sort 結果が一緒かどうか判定してみます"
originsorted = origindata.sort

puts "最初に入れ込んだデータを、.sortでいじった結果はこちら"
puts originsorted

if originsorted == sorted
puts "一緒です"
else
puts "あれれ?どこかでミスったかな?"
end
PR

この記事にコメントする

NAME
TITLE
MAIL
URL
COMMENT
PASS

この記事へのトラックバック

この記事にトラックバックする:

PR

カテゴリー

最新記事

アーカイブ

プロフィール

HN:
マドノマグラ
性別:
非公開
職業:
趣味:
駄文書き
自己紹介:
ゲームを作ろうとしているうちに、言語学習に飽きていく。典型的なダメな人パターンに陥るアホな人

リンク

ブログ内検索

バーコード

RSS

忍者ブログ │ [PR]