Created
January 14, 2015 14:43
-
-
Save KeenS/e0e11f56e9ca2d161435 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(import (scheme base) | |
(scheme write)) | |
(define-record-type rb-tree | |
(%make-rb-tree compare) | |
rb-tree? | |
(node rb-tree-node set-node!) | |
(compare rb-tree-compare set-rb-tree-compare!) | |
(size rb-tree-size set-size!)) | |
(define (compare i1 i2) | |
(- i1 i2)) | |
(define (make-rb-tree . cmp) | |
(let* ((cmp (if (null? cmp) compare (car cmp))) | |
(rb (%make-rb-tree cmp))) | |
(set-node! rb 'leaf) | |
(set-size! rb 0) | |
(write (rb-tree-compare rb)) ; #<unbound>になってしまう | |
rb)) | |
(make-rb-tree compare) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment