Finish BST implementation for mbase usage.
This commit is contained in:
parent
e6a1aee313
commit
209ef27a90
1 changed files with 36 additions and 3 deletions
|
@ -51,6 +51,10 @@
|
|||
bdict-values
|
||||
|
||||
bdict-balance
|
||||
|
||||
bdict-filter-pairs
|
||||
bdict-filter-keys
|
||||
bdict-filter-values
|
||||
|
||||
bdict-tests!
|
||||
)
|
||||
|
@ -270,9 +274,38 @@
|
|||
(vector->bdict
|
||||
(bdict->vector d)))
|
||||
|
||||
;; Returns a list
|
||||
(define (bdict-filter d p)
|
||||
'())
|
||||
;; Returns a list of key-value pairs matching predicate
|
||||
(define (bdict-filter-pairs d p)
|
||||
(bdict-reduce
|
||||
'()
|
||||
(lambda (a k v)
|
||||
(let ((e (p k v)))
|
||||
(if e
|
||||
(cons (cons k v) a)
|
||||
a)))
|
||||
d))
|
||||
|
||||
;; Returns a list of keys pairs matching predicate
|
||||
(define (bdict-filter-keys d p)
|
||||
(bdict-reduce
|
||||
'()
|
||||
(lambda (a k v)
|
||||
(let ((e (p k v)))
|
||||
(if e
|
||||
(cons k a)
|
||||
a)))
|
||||
d))
|
||||
|
||||
;; Returns a list of keys pairs matching predicate
|
||||
(define (bdict-filter-values d p)
|
||||
(bdict-reduce
|
||||
'()
|
||||
(lambda (a k v)
|
||||
(let ((e (p k v)))
|
||||
(if e
|
||||
(cons v a)
|
||||
a)))
|
||||
d))
|
||||
|
||||
;; Performs module self-tests
|
||||
(define (bdict-tests!)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue