static public AddToTree.Tree DeleteingMinusPluseFx(AddToTree.Tree Dummy) { Dummy = DeleteingMinusPluseTree.ArrangmentToDeleteingMinusPluse(Dummy); Dummy = DeleteingMinusPluseTree.RepeatedlyDeletedAction(Dummy); while (Dummy.ThreadAccess != null) { Dummy = Dummy.ThreadAccess; } return(Dummy); }
static AddToTree.Tree RepeatedlyDeletedAction(AddToTree.Tree Dummy) { if (Dummy == null) { return(Dummy); } DeleteingMinusPluseTree.RepeatedlyDeletedAction(Dummy.LeftSideAccess); DeleteingMinusPluseTree.RepeatedlyDeletedAction(Dummy.RightSideAccess); AddToTree.Tree Current = Dummy; AddToTree.Tree CurrentTow = Dummy.LeftSideAccess; if (CurrentTow != null) { while (IS.IsMinuseOrPluse(Dummy.SampleAccess)) { if (CurrentTow != null) { while (IS.IsMinuseOrPluse(CurrentTow.SampleAccess)) { if (((Dummy.SampleAccess == "+") && (CurrentTow.SampleAccess == "-")) || ((Dummy.SampleAccess == "-") && (CurrentTow.SampleAccess == "+"))) { if (EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy.RightSideAccess, CurrentTow.RightSideAccess)) { //Dummy = Dummy.FINDTreeWithThreadConsideration(Dummy,Dummy); String A = Dummy.SampleAccess; if (Dummy != null) { if (Dummy.ThreadAccess == null) { Dummy = Dummy.LeftSideAccess; Dummy.ThreadAccess = null; } else { Dummy.ThreadAccess.LeftSideAccess = Dummy.LeftSideAccess; Dummy.LeftSideAccess.ThreadAccess = Dummy.ThreadAccess; } } if (A == "+") { while ((!EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy.RightSideAccess, CurrentTow.RightSideAccess)) && (Dummy.SampleAccess != "-")) { Dummy = Dummy.LeftSideAccess; } } if (A == "-") { while ((!EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy.RightSideAccess, CurrentTow.RightSideAccess)) && (Dummy.SampleAccess != "+")) { Dummy = Dummy.LeftSideAccess; } } //Dummy = Dummy.FINDTreeWithThreadConsideration(Dummy, CurrentTow); if (Dummy.ThreadAccess == null) { Dummy = Dummy.LeftSideAccess; Dummy.ThreadAccess = null; } else { Dummy.ThreadAccess.LeftSideAccess = Dummy.LeftSideAccess; Dummy.LeftSideAccess.ThreadAccess = Dummy.ThreadAccess; } //if (Dummy.ThreadAccess != null) //Dummy.ThreadAccess.LeftSideAccess = Dummy.LeftSideAccess; //Dummy = AddToTree.Tree.DeleteTree(Dummy, CurrentTow); CurrentTow = Dummy.LeftSideAccess; } } CurrentTow = CurrentTow.LeftSideAccess; } } Dummy = Dummy.LeftSideAccess; CurrentTow = Dummy.LeftSideAccess; } } //Dummy= Dummy; while ((!EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy, Current)) && (Dummy.ThreadAccess != null)) { Dummy = Dummy.ThreadAccess; } CurrentTow = Dummy.RightSideAccess; if (CurrentTow != null) { while (IS.IsMinuseOrPluse(Dummy.SampleAccess)) { if (CurrentTow != null) { while (IS.IsMinuseOrPluse(CurrentTow.SampleAccess)) { if (((Dummy.SampleAccess == "+") && (CurrentTow.SampleAccess == "-")) || ((Dummy.SampleAccess == "-") && (CurrentTow.SampleAccess == "+"))) { if (EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy.LeftSideAccess, CurrentTow.LeftSideAccess)) { //Dummy = Dummy.FINDTreeWithThreadConsideration(Dummy, Dummy); String A = Dummy.SampleAccess; if (Dummy.ThreadAccess == null) { Dummy = Dummy.RightSideAccess; Dummy.ThreadAccess = null; } else { Dummy.ThreadAccess.RightSideAccess = Dummy.RightSideAccess; Dummy.RightSideAccess.ThreadAccess = Dummy.ThreadAccess; } if (A == "+") { while ((!EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy.LeftSideAccess, CurrentTow.LeftSideAccess)) && (Dummy.SampleAccess != "-")) { Dummy = Dummy.RightSideAccess; } } if (A == "-") { while ((!EqualToObject.IsEqualWithThreadConsiderationCommonly(Dummy.RightSideAccess, CurrentTow.RightSideAccess)) && (Dummy.SampleAccess != "+")) { Dummy = Dummy.RightSideAccess; } } if (Dummy.ThreadAccess == null) { Dummy = Dummy.RightSideAccess; Dummy.ThreadAccess = null; } else { Dummy.ThreadAccess.RightSideAccess = Dummy.RightSideAccess; Dummy.RightSideAccess.ThreadAccess = Dummy.ThreadAccess; } } } CurrentTow = CurrentTow.RightSideAccess; } } Dummy = Dummy.RightSideAccess; CurrentTow = Dummy.RightSideAccess; } } return(Dummy); }