读书人

stl 红黑树的 M_increment() 、M_decr

发布时间: 2012-03-24 14:00:46 作者: rapoo

stl 红黑树的 M_increment() 、_M_decrement()主要实现什么
如题:看不懂

C/C++ code
 void increment () {    if (node—>right!=0)       // 如果有右子节点。 状况 <A>     {          node=node—>right ;    // 就向右走         while(node—>left! ; )// 然后一直往左子树走到底            node=node—>left ; // 即是解答        }else {                       // 没有右子节点。 状况 <B>         base_ptr y=node—>parent ; // 找出父节点             while (node==y—>right){   // 如果现行节点本身是个右子节点                 node=y ;            // 就一直上溯,直到不为右子节点为止                     y=y->parent ;             }             if (node—>right!=y)        // 若此时的右子节点不等于此时的父节点                 node=y ;             // 状况 <C> 此时的父节点即为解答                                   // 否则此时的 node 为解答 状况 <D>     }

=

[解决办法]
iterator的++和--啊
[解决办法]
这里的increment看意思是找到比当前节点大的最小的元素,就是类似i++。

读书人网 >C++

热点推荐