Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.87 KB | None | 0 0
  1. NELLO STACK: q1,r,q2,ret
  2.  
  3. ALGO (A,p,r){
  4. stq1,stq2,str,stret=NIL;
  5. cp=p;cr=r;
  6. lr=NIL;
  7. ritorno=NIL;
  8. WHILE (cp<=cr || str !=NIL) DO {
  9. IF (cp<=cr) THEN
  10. ret=0;
  11. IF (cp=cr) THEN
  12. ret=A[p];
  13. lr=cr;
  14. cr=cp-1;
  15. ritorno=ret;
  16. ELSE
  17. q1= ( (cp+2r)/3 );
  18. stq1=PUSH(stq1,q1);
  19. str=PUSH(str,cr);
  20. cr=q1;
  21. ELSE
  22. q1=top(stq1);
  23. cr=top(sr);
  24. IF (lr!=cr) THEN
  25. IF (lr=q1) THEN
  26. ret=ritorno;
  27. q2= ( (2cp+cr)/3 );
  28. stq2=PUSH(stq2,q2);
  29. stret=PUSH(stret,ret);
  30. cp=q1+1;
  31. cr=q2;
  32. ELSE IF (lr=q2) THEN
  33. q2=TOP(stq2);
  34. ret=top(stret)+ritorno;
  35. stret=POP(stret);
  36. stret=PUSH(stret,ret);
  37. cp=q2+1;
  38. ELSE
  39. ret=top(stret)+ritorno;
  40. lr=cr;
  41. cr=cp-1;
  42. stq1=POP(stq1);
  43. stq2=POP(stq2);
  44. str=POP(str);
  45. stret=POP(stret);
  46. ritorno=ret;
  47. }
  48. return ret;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement