回覆列表
  • 1 # lanfengz3

      遞迴演算法:

      void exchange(BitTree T){

       BitNode p;

      if(T->lchild==null && T->rchild==null)

       return;

       else{

       p=T->lchild;

       T->lchild=T->rchild;

       t->rchild=P;

       }

      if(T->lchild){

      exchange(T->lchild);

      }

      if(T->rchild){

      exchange(T->rchild);

      }

      }

      非遞迴演算法

      使用棧作為儲存結構

      void exchange(BitTree T){

      定義並初始化棧

      Stack s;

      InitStack(s);

      BitNode p,temp;

      p=T;

      while(p && !EmptyStack(s)){

      if(p){

      push(p);

      p=p->lchild;

      }

      else{

      temp=p->lchild;

      p->lchild=p->rchild;

      p->rchild=temp;

      p=p->lchild;

      }

      }

      }

  • 中秋節和大豐收的關聯?
  • 男籃世界盃抽籤,楊超越現場出現口誤,你怎麼看?