Changeset 142


Ignore:
Timestamp:
Dec 19, 2003, 3:34:26 PM (21 years ago)
Author:
Gary Byers
Message:

Keep count of splay-tree nodes; PRINT-OBJECT methods.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/library/splay-tree.lisp

    r136 r142  
    3131  )
    3232
     33(defmethod print-object ((node tree-node) stream)
     34  (print-unreadable-object (node stream :type t :identity t)
     35    (let* ((*print-circle* t))
     36      (format stream "~s -> ~s" (tree-node-key node) (tree-node-value node)))))
     37
    3338
    3439(defun tree-node-is-leaf (n)
     
    6570  equal                                 ; true if x = y
    6671  less                                  ; true if x < y
     72  (count 0)
    6773  )
     74
     75(defmethod print-object ((tree splay-tree) stream)
     76  (print-unreadable-object (tree stream :type t :identity t)
     77    (format stream "count = ~d, root = ~s"
     78            (splay-tree-count tree)
     79            (splay-tree-root tree))))
     80           
    6881
    6982
     
    97110        (if (funcall less key (tree-node-key current))
    98111          (setq current (tree-node-left current))
    99           (setq current (tree-node-right current)))))))
     112          (setq current (tree-node-right current))))))
     113  (incf (splay-tree-count tree)))
    100114   
    101115           
Note: See TracChangeset for help on using the changeset viewer.