2008-04-26から1日間の記事一覧

SICPを読む(104) 問題 3.21 - 3.22 - キュー(2)

もうちょい。 問題 3.21 Benのわがままを聞け。 (define print-queue car) (print-queue q) ; () な、消えてるだろ。データ構造がリストなんだからしょうがないじゃん。 問題 3.22 んじゃデータ構造変えてやればいいじゃないかと、次の問題へ。 (define (mak…

SICPを読む(103) 3.3.2 - キュー

キューなんて簡単だと思ってたら、SICPの実装が面白い。メモっておこう データ構造は(cons 先頭ポインタ 最後のポインタ) リストはポインタとしても使えるよねという発想。いただき。 挿入は(list 新規データ)として、最後のポインタを更新すればいい。 削除…

SICPを読む(102) 問題 3.16 - 3.20 対の数

ガンガンいくぞー。 問題 3.16 Benの手続きがうまくいかい理由。 (define a (cons 0 1)) (define b (cons 2 3)) (count-pairs (cons a b)) ; 3 (set-car! b a) (count-pairs (cons a b)) ; 4 (set-car! b a) (set-cdr! b a) (count-pairs (cons b b)) ; 7 無…

SICPを読む(101) 問題 3.12 - 3.15 - ポインタ

サックリと。 問題 3.12 append!について。予想が当ってて良かった。append!,last-pairはSRFI-1にあるみたい。last-pairは使ったこと無かった。活用できそう。 問題 3.13 ポインタがわかってれば大丈夫だと思う。要するに、nullのあったポインタの所に、先頭…

SICPを読む(100) 問題 3.11 - 内側ののdefine

とうとう100回を迎えてしまったが、SICPは半分も進んでいない。長い戦いになりそうだ。 問題 3.11 銀行口座手続きの説明をせよ。という問題。とりあえず、内側のdefineについてfactで考える。内側のdefineはletrecと同様と考えればいい。じゃぁ、letrecはど…