xanadu - xml b-tree - 1
This commit is contained in:
parent
d02589b334
commit
48057882f2
|
@ -33,7 +33,7 @@
|
||||||
(define (run-daemon-child-mail rec)
|
(define (run-daemon-child-mail rec)
|
||||||
(let ((*hostname (hostname rec))
|
(let ((*hostname (hostname rec))
|
||||||
(*port (port rec))
|
(*port (port rec))
|
||||||
(*socket (socket rec))
|
(*socket (sock rec))
|
||||||
(*motd (motd rec))
|
(*motd (motd rec))
|
||||||
(*ack (ack rec))
|
(*ack (ack rec))
|
||||||
(*apop (apop rec))
|
(*apop (apop rec))
|
||||||
|
@ -101,4 +101,4 @@
|
||||||
(close-input-port in)
|
(close-input-port in)
|
||||||
(close-socket *socket)
|
(close-socket *socket)
|
||||||
(close-output-port out)
|
(close-output-port out)
|
||||||
(exit))))
|
(exit))))
|
||||||
|
|
|
@ -26,3 +26,31 @@
|
||||||
;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
;;; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
;;; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
(define (make-b-tree)
|
||||||
|
(let ((*tree (make-vector 0)))
|
||||||
|
|
||||||
|
(define (goto-left-node str i tree)
|
||||||
|
(cond ((= (vector-length tree) i) (display "null node") (vector-set! tree i str))
|
||||||
|
(else #f)))
|
||||||
|
|
||||||
|
(define (add-rec str tree)
|
||||||
|
(do ((i 0 (+ i 1)))
|
||||||
|
((eq? i (vector-length tree))
|
||||||
|
(grow-up)
|
||||||
|
(let ((vi (vector-ref tree i)))
|
||||||
|
(cond ((string<=? str vi)
|
||||||
|
0)
|
||||||
|
((string>=? str vi)
|
||||||
|
(grow-down))
|
||||||
|
((string=? str vi)
|
||||||
|
(set! i (vector-length tree)))
|
||||||
|
(else (display "never reached."))))
|
||||||
|
))
|
||||||
|
|
||||||
|
(define (add str)
|
||||||
|
(add-rec *tree))
|
||||||
|
|
||||||
|
(define (dispatch msg)
|
||||||
|
(cond ((eq? msg 'add) add)
|
||||||
|
(else (display "b-tree : message not understood."))))
|
||||||
|
dispatch))
|
||||||
|
|
Loading…
Reference in New Issue