Пример #1
0
NodeT* insertNode(NodeT* node, int data)
{
    if (node == NULL) return(createNode(data));
    else if (data < node->data)
        node->left  = insertNode(node->left, data);
    else
        node->right = insertNode(node->right, data);
        node->height = max(findHeight(node->left), findHeight(node->right))+1;
    int bal=getBalance(node);
    if (bal>1 && data < node->left->data)  return rightRot(node);
    if (bal<-1 && data>node->right->data)  return leftRot(node);
    if (bal>1 && data>node->left->data)
        {
        node->left =leftRot(node->left);
        return rightRot(node);
        }
    if (bal<-1 && data<node->right->data)
        {
        node->right =rightRot(node->right);
        return leftRot(node);
        }
    return node;
}
Пример #2
0
void
pixPat::rotateLeft(uint8_t num)
{
	short n = (num << 1) + num;						// bytes per pixel	(x3)
	leftRot((uint8_t *)color, n);
}