Workshop/MiracleHaskell/005

日時

2012/07/13

内容

宿題

insert :: Ord a => a -> [a] -> [a]

を再帰で作ってみましょう

実行例1

insert関数は要素とリストを取り、第一引数をリストの 「第一引数以下の要素群の最後」に挿入します。 もしリストがソート済みであれば、ソートされたリストが手に入ります。

> insert 61 [0,10,20,30,40,50,60,70,80,90]
[0,10,20,30,40,50,60,61,70,80,90]

実行例2

もしソートされていないリストにinsert関数を使った場合には、 第一引数より大きい値の手前に単に挿入します。

> insert 27 [0,10,20,30,20,10,0,10,20,30,20,10,0]
[0,10,20,27,30,20,10,0,10,20,30,20,10,0]