All pastes #253328 Raw Edit

Anonymous

public cpp v1 · immutable
#253328 ·published 2006-11-20 17:21 UTC
rendered paste body
void medis::del(node1 * cur ,node1* parent ){	node1* tmp;	node1* child;		tmp = cur;		if ((cur->right == NULL) && (cur->left == NULL))	// If element is leaf		{			if (parent->right == cur)				parent->right = NULL;			else 				if (parent->left == cur)				parent->left = NULL;			delete cur;		}				parent = NULL;			if (((cur->right != NULL) && (cur->left != NULL)) || (cur->right != NULL)) // If exists right->left and left->right or only right->left of deleting element  			{					parent = cur;				cur = cur->right;				if (cur->left)				{					while(cur->left)					{						parent = cur;						cur = cur->left;					}					tmp->kaina = cur->kaina;					tmp->preke = cur->preke;					parent->left = NULL;							delete cur;					cur = NULL;				}				if (cur->right)				{					child = cur->right;					parent->kaina = cur->kaina;					parent->preke = cur->preke;					parent->right = child;					cur->right = NULL;					delete cur;				}				if ((cur->right == NULL) && (cur->left == NULL))				{					parent->kaina = cur->kaina;					parent->preke = cur->preke;					parent->right = NULL;					delete cur;				}			}						if (cur->left)			{				parent = cur;				cur = cur->left;				if (cur->right)				{					while(cur->right)					{						parent = cur;						cur = cur->right;					}					tmp->kaina = cur->kaina;					tmp->preke = cur->preke;					parent->right = NULL;							delete cur;					cur = NULL;				}								if (cur->left)				{					child = cur->left;					parent->kaina = cur->kaina;					parent->preke = cur->preke;					parent->left = child;					cur->left = NULL;					delete cur;				}				if ((cur->right == NULL) && (cur->left == NULL))				{					parent->kaina = cur->kaina;					parent->preke = cur->preke;					parent->left = NULL;					delete cur;				}		}}