スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

バブルソート、挿入ソート

ソートの練習中。
手続き型言語では簡単なのに、Haskellでは、結構組むのが大変です。


import System.Random

bubbleSort :: [Int] -> [Int]
bubbleSort [] = []
bubbleSort ls = (iterate f ls) !! length ls
where
f [x] = [x]
f (x:y:ys) | x <= y = x:f (y:ys)
| otherwise = y:f (x:ys)


incertSort :: [Int] -> [Int]
incertSort is = foldl f [] is
where
f :: [Int] -> Int -> [Int]
f [] x = x:[]
f (i:ys) j | i>= j = j:i:ys
| otherwise = i:(f ys j)

f ::[Int] -> IO()
f ln = do print ln
print $ incertSort ln

main = do a <- getStdGen
f $ take 10 $ randomRs (1,100) a
putChar '\n'

スポンサーサイト

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

かみさまみならい

Author:かみさまみならい
FC2ブログへようこそ!

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブロとも申請フォーム

この人とブロともになる

ブログ内検索
RSSフィード
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。