Advertisement
Guest User

ALGO1

a guest
Jan 17th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.09 KB | None | 0 0
  1. ALGO(T)
  2.     //dichiarazioni
  3.     S_T=NULL, S_X=NULL;
  4.     CT=T, NT=NULL, LT=NULL
  5.     while ( S_T != NULL OR CT != NULL) do
  6.         if( C_T != NULL )
  7.             ret=1
  8.             x= CT->K % 2
  9.             //discesa a SX
  10.             S_T=PUSH(S_T, CT)
  11.             S_X=PUSH(S_X, x)
  12.             NT= CT->DX
  13.         else
  14.             //Ripristino ambiente locale
  15.             CT= TOP(S_T)
  16.             x= TOP(S_X)
  17.             //Se risalgo da DX (1° chiamata ricorsiva)
  18.             if(LT != CT->SX && CT->SX != NULL)
  19.                 //Ritorno della 1° chiamata ricorsiva e discesa a SX
  20.                 a= ret
  21.                 x+= a
  22.                 NT=CT->sx
  23.             else
  24.                 //Se sto risalendo da DX (2° chiamata ricorsiva)
  25.                 if(CT->SX != NULL)
  26.                     y=ret
  27.                     ret= x * y * CT->K
  28.                     NT= NULL
  29.                 else
  30.                     y=1
  31.                     ret= x * y * CT->K
  32.                     NT= NULL
  33.                 POP(S_T)
  34.                 POP(S_X)
  35.             LT= CT
  36.             CT= NT
  37.         return ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement