只需要将insert里面的while循环改成下面这个样子就行了,思路是insert的时候,节点每往左移动一次,那么说明它比右边的都要小,所以加上右边的数目,而红黑树的旋转并不会影响
while (next!=t->nil)
{
prev=next;
next=new->n<next->n?next->l:next->r;
count=new->n<prev->n?count+prev->size-next->size:count;/*这里千万不要用next是否是prev的左指针判断!因为左右孩子可能都是nil,这样会出错*/
(prev->size)++;/*插入时经过节点size+1,不需要考虑新增节点是根节点的情况*/
}