int main() { unsigned int x, y, result; printf("Please enter a number : "); scanf("%d", &x); printf("How to much to right-shift? "); scanf("%d", &y); result = rightRot(x, y); printf("The number shifted by %u is %u\n", y, result); }
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; }