You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

24 lines
904 B

  1. cdef class RBNode:
  2. cdef public object obj
  3. cdef public double start, end
  4. cdef public int red
  5. cdef public RBNode left, right, parent
  6. cdef class RBTree:
  7. cdef public RBNode nil, root
  8. cpdef getroot(RBTree self)
  9. cdef void __rotate_left(RBTree self, RBNode x)
  10. cdef void __rotate_right(RBTree self, RBNode y)
  11. cdef RBNode __successor(RBTree self, RBNode x)
  12. cpdef RBNode successor(RBTree self, RBNode x)
  13. cdef RBNode __predecessor(RBTree self, RBNode x)
  14. cpdef RBNode predecessor(RBTree self, RBNode x)
  15. cpdef insert(RBTree self, RBNode z)
  16. cdef void __insert_fixup(RBTree self, RBNode x)
  17. cpdef delete(RBTree self, RBNode z)
  18. cdef inline void __delete_fixup(RBTree self, RBNode x)
  19. cpdef RBNode find(RBTree self, double start, double end)
  20. cpdef RBNode find_left_end(RBTree self, double t)
  21. cpdef RBNode find_right_start(RBTree self, double t)