Advertisement
Guest User

Asd-Esercizio2-luglio2019

a guest
Nov 13th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. Algo_it(A,p,r){
  2.  
  3. cp=p;
  4. cr=r;
  5. stack_r=stack_q1=stack_q2=stack_ret=nil;
  6. last=ritorno=nil;
  7.  
  8. while(cp<=cr or stack_r!=nil)do
  9. if (cp<=cr) then
  10. ret=0;
  11. if (cp=cr)then
  12. ret=A[cp];
  13. last=cr;
  14. cp=cr+1;
  15. else
  16. q1= (cp+2cr)/3;
  17. push(stack_r,cr);
  18. push(stack_q1,q1);
  19. cr=q1;
  20. else
  21. cr=top(stack_r);
  22. q1=top(stack_q1);
  23. /* if (cp=cr) then
  24. ret=A[cp];
  25. last=cr;
  26. cp=cr+1;
  27. pop(stack_r);
  28. pop(stack_q1); */
  29. else
  30. if(last!=cr) then
  31. if(cr=q1)then
  32. ret=ritorno;
  33. ritorno=ret;
  34. q2=(2cp+cr)/3;
  35. push(stack_q2,q2);
  36. push(stack_r,cr);
  37. push(stack_ret,ret);
  38. cp=q1+1;
  39. cr=q2;
  40. else
  41. q2=top(stack_q2);
  42. ret=top(stack_ret) + ritorno;
  43. pop(stack_ret);
  44. push(stack_ret);
  45. cp=q2+1;
  46. else
  47. ret=top(stack_ret)+ ritorno;
  48. pop(stack_ret);
  49. pop(stack_q1);
  50. pop(stack_q2);
  51. pop(stack_r);
  52. last=cr;
  53. cp=cr+1;
  54. return ret;
  55.  
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement