###前提・実現したいこと
ここに質問したいことを詳細に書いてください
『アルゴリズムを、はじめよう」という書籍を参考に、Rubyでクイックソートのプログラムを書いています。この書籍にはプログラミング言語による模範解答は載せられていないため、プログラムを自分で書く必要があります。
###発生している問題・エラーメッセージ
下記のコードを試した結果、おそらくですが、無限ループに陥ってしまいました。
エラーメッセージ
###該当のソースコード
Ruby
ここにご自身が実行したソースコードを書いてください
def quick_sort(array, left, right)
i = left + 1
k = right
while i < k
while array[i] < array[left] && i < right
i = i + 1
end
while array[i] >= array[left] && k > left k = k + 1 end if i < k w = array[left] array[left] = array[k] array[k] = w end
end
if left < k - 1
quick_sort(array, left, k - 1)
end
if k + 1 < right
quick_sort(array, k + 1, right)
end
end
array = [5, 4, 7, 6, 8, 3, 1, 2, 9]
quick_sort(array, 0, 8)
puts array
###試したこと
課題に対してアプローチしたことを記載してください
エラーメッセージが出ていた頃は、ひたすらそのエラーを潰していましたが、無限ループになってからは、エラーの原因がわかりません。webページも参考にしましたが、自分が書いたコードは動いてくれませんでした…。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/01 04:13
2016/05/01 05:59