From bd9733926076885e3417b74de76e4c9c7bc56254 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:28 -0800 Subject: Import Upstream version 2c7 --- wttree.scm | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'wttree.scm') diff --git a/wttree.scm b/wttree.scm index 3cf749a..515563f 100644 --- a/wttree.scm +++ b/wttree.scm @@ -1,7 +1,7 @@ ;; "wttree.scm" Weight balanced trees -*-Scheme-*- ;; Copyright (c) 1993-1994 Stephen Adams ;; -;; $Id: wttree.scm,v 1.2 1998/02/09 23:13:10 jaffer Exp $ +;; $Id: wttree.scm,v 1.3 1999/10/11 03:36:29 jaffer Exp $ ;; ;; References: ;; @@ -44,7 +44,7 @@ ;; ;; Weight Balanced Binary Trees ;; -;; +;; ;; ;; This file has been modified from the MIT-Scheme library version to ;; make it more standard. The main changes are @@ -169,18 +169,18 @@ (define tag:tree-type (string->symbol "#[(runtime wttree)tree-type]")) - (define (%make-tree-type keytree - add insert! - delete delete! - member? lookup - split-lt split-gt - union intersection - difference subset? + (define (%make-tree-type keytree + add insert! + delete delete! + member? lookup + split-lt split-gt + union intersection + difference subset? rank ) (vector tag:tree-type - keytree add insert! - delete delete! member? lookup - split-lt split-gt union intersection + keytree add insert! + delete delete! member? lookup + split-lt split-gt union intersection difference subset? rank )) (define (tree-type? tt) @@ -401,11 +401,11 @@ (define (node/rank k node rank) (cond ((empty? node) #f) ((key? k (node/k node)) + ((key>? k (node/k node)) (node/rank k (node/r node) (fix:+ 1 (fix:+ rank (node/size (node/l node)))))) (else (fix:+ rank (node/size (node/l node)))))) - + (define (node/add node k v) (if (empty? node) (node/singleton k v) @@ -463,7 +463,7 @@ ((keytree)))) (%make-wt-tree my-type (loop alist empty))) -- cgit v1.2.3