<list>で遊ぶ

アバター
みょん
記事: 16
登録日時: 12年前
住所: 京都
連絡を取る:

<list>で遊ぶ

投稿記事 by みょん » 12年前

前の記事でも言いましたが、ちょくちょくC++を勉強したいと思います。
まぁ闇の力を使おうとはあまり思っていなくて、本の少しのTemplateとSTLが使えるようになればよいかなと思って勉強をはじめました。

とりあえずlistを覚えたので確認のため何か組んでみることにしました。
Haskell(この話ばかりで申し訳ないですが)では強力なリストとリストを処理する函数群が揃っています。
その中でも特に便利なmap, filter, foldlを実装することにしました。

まずは以下に簡単な例を示します。

CODE:

map (+1) [1,2,3,4,5]  -- => [2,3,4,5,6]になります
filter (>3) [1,2,3,4,5] -- => [4,5]になります
foldl (+) [1,2,3,4,5] -- => 15になります
foldl (*) [1,2,3,4,5] -- => 120になります
mapは与えられた函数を後ろのリストの要素全てに適用させます。
filterは与えられた条件を満たすもの要素のみ集めてきます。
foldlはリスト全体を前から与えられた函数で1つの値に畳み込みます。

さて、これらを実装したものが以下です。
► スポイラーを表示
最後に編集したユーザー みょん on 2012年11月18日(日) 12:53 [ 編集 1 回目 ]

コメントはまだありません。