Lisp Scheme Part17 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
607:デフォルトの名無しさん 07/06/20 20:41:55 >>606 > 破壊的操作で、リストの先頭を削除するのがどうしてもわかりません。 そういうことは原理的にできない。(理由は考えてみるべし) append! で第一引数が () の場合なども同様で、結果は明示的に返す必要がある。 608:デフォルトの名無しさん 07/06/20 21:24:07 (define (remove-at! ls n) (if (null? ls) (error "list too short") (if (zero? n) ((lambda (tmp) (set-car! ls (cadr ls)) (set-cdr! ls (cddr ls)) tmp) (car ls)) (remove-at! (cdr ls) (- n 1))))) 609:デフォルトの名無しさん 07/06/20 21:42:44 >>607 >(理由は考えてみるべし) Cだったら、下のようなコードで、仮引数のほうを書き換えて、実引数が変化しないって悩んでるようなもんですかね? struct cell { struct cell* next; const char *symbol; }; const char* remove_at(struct cell* p, int n) { p = ・・・・ ・・・ }
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5394日前に更新/220 KB
担当:undef