Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void delete(TreeNode z) {
- // TreeNode key = search(z.key);
- //
- // while(z!=_nil) {
- // if(newNode.key == key) {
- // z=newNode;
- // }
- // if(newNode.key<=key) {
- // newNode = newNode.right;
- // } else {
- // newNode = newNode.left;
- // }
- // }//end while
- //
- //
- // TreeNode y = z;
- // TreeNode x;
- // NodeColor yurspruenglichefarbe = y.color;
- // if (z.left == _nil) {
- // x = z.right;
- // RBTransplant(z, z.right);
- // } else if (z.right == _nil) {
- // x = z.left;
- // RBTransplant(z, z.left);
- // } else {
- // y = minimumSubtree(z.right);
- // }
- // yurspruenglichefarbe = y.color;
- // x = y.right;
- // if (y.p == z) {
- // x.p = y;
- // } else {
- // RBTransplant(y, y.right);
- // y.right = z.right;
- // y.right.p = y;
- // }
- //
- // RBTransplant(z, y);
- // y.left = z.left;
- // y.left.p = y;
- // y.color = z.color;
- // if (yurspruenglichefarbe == NodeColor.BLACK) {
- // RBDeleteFixUp(x);
- // }
- deleteHelp(this._root, z.key);
- }
- public void deleteHelp(TreeNode newNode, int key) {
- TreeNode z = _nil;
- TreeNode x, y;
- while (newNode != _nil) {
- if (newNode.key == key) {
- z = newNode;
- }
- if (newNode.key <= key) {
- newNode = newNode.right;
- } else {
- newNode = newNode.left;
- }
- } // end while
- if (z == _nil) {
- System.out.println("key wurde nicht gefunden");
- return;
- }
- y = z;
- NodeColor yUrspruenglicheFarbe = y.color;
- if (z.left == _nil) {
- x = z.right;
- RBTransplant(z, z.right);
- } else if (z.right == _nil) {
- x = z.left;
- RBTransplant(z, z.left);
- } else {
- y = minimumSubtree(z.right);
- yUrspruenglicheFarbe = y.color;
- x = y.right;
- if (y.p == z) {
- x.p = y;
- } else {
- RBTransplant(y, y.right);
- y.right = z.right;
- y.right.p = y;
- }
- RBTransplant(z, y);
- y.left = z.left;
- y.left.p = y;
- y.color = z.color;
- }
- if (yUrspruenglicheFarbe == NodeColor.BLACK) {
- RBDeleteFixUp(x);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement