zoukankan      html  css  js  c++  java
  • CS 61B lab10

    part one parent()

      public TreeNode parent() throws InvalidNodeException {
        // REPLACE THE FOLLOWING LINE WITH YOUR SOLUTION TO PART I.  
          if(!this.valid){
              throw new InvalidNodeException();
          }
          if(this.parent==null)
          return new SibTreeNode();
          return this.parent;
      }

    part two insertChild()

     public void insertChild(Object item, int c) throws InvalidNodeException {
        // FILL IN YOUR SOLUTION TO PART II HERE.
          if(!this.valid){throw new InvalidNodeException();}
          SibTreeNode Child = new SibTreeNode(this.myTree,item);
          Child.parent=this;
          this.myTree.size++;
          if(this.firstChild==null){
              this.firstChild=Child;
              return;
          }
          if(c<1){c=1;}
          if(c==1){
              Child.nextSibling=this.firstChild;
              this.firstChild=Child;          
          }else{
              int num=2;
              SibTreeNode CurrentNode=this.firstChild;
              while(num<c){
                  num++;
                  if(CurrentNode.valid&&CurrentNode.nextSibling!=null){
                  CurrentNode=CurrentNode.nextSibling;              
                  }
              }
              Child.nextSibling=CurrentNode.nextSibling;
              CurrentNode.nextSibling=Child;
          }
          
      }

    part three removeLeaf()

    public void removeLeaf() throws InvalidNodeException {
        // FILL IN YOUR SOLUTION TO PART III HERE.
          if(!this.valid){throw new InvalidNodeException();}
          if(myTree.size==1){myTree.size--;this.myTree.root=null;this.valid=false;return;}
          if(this.firstChild==null&&this.myTree.size>1){
               this.myTree.size--;
               if(this.myTree.size==1){this.valid=false;}
               SibTreeNode leafParent=this.parent;
               this.valid=false;
               SibTreeNode CurrentNode = leafParent.firstChild;
               if(!CurrentNode.valid){
                   leafParent.firstChild=CurrentNode.nextSibling;
                   return;
               }
               while(true){
                   if(!CurrentNode.nextSibling.valid){
                       CurrentNode.nextSibling=CurrentNode.nextSibling.nextSibling;
                       return;
                   }
                   CurrentNode=CurrentNode.nextSibling;
                   
               }
               
          }

    运行结果:

  • 相关阅读:
    C# Attribute(中)——Attribute本质论
    计算机体系结构-内存调优IPC OOMK
    RHCA-RH442-Linux系统性能调优 (学习)
    Redhat 官方Performance_Tuning_Guide
    linux 内核官方文档
    运维博客---OOM
    lenky的个人站点 ----LINUX 内核进程
    kswapd0、kjournald、pdflush、kblocked、migration进程含义 转
    计算机体系结构 -内存优化vm+oom
    计算机体系结构-CPU
  • 原文地址:https://www.cnblogs.com/developerchen/p/7270096.html
Copyright © 2011-2022 走看看