Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ALGO_IT(T, a, b)
- curr=T, last=nextT= NIL,
- currA=a, currB=b, nextA= nextB= -1
- S_T=S_b= NIL
- while(curr != NIL || S_T != NIL) do
- if (curr != NIL) then //NUOVA CHIAMATA
- if( curr->key >= currA && curr->key <= currB) then
- push(S_T, curr)
- push(S_b, currB)
- next= curr->sx //DISCESA A SX
- nextA= currA
- nextB= curr->key
- else
- CANCELLA_TREE(curr)
- ret= NIL //ISTRUZIONI CHE SIMULANO return T
- next= NIL
- else
- curr= top(S_T)
- currB= top(S_b)
- if (last != curr->dx && curr->dx != NIL) then //STO TORNANDO DA SX
- curr->sx= ret
- next= curr->dx //PREPARO DISCESA A DX
- nextA= curr->key
- nextB= currB
- else
- pop(S_T)
- pop(S_b)
- if (curr->dx != NIL) then //STO TORNANDO DA DX
- curr->dx= ret
- else //SONO TORNATO DA SX MA IL DX E' NIL
- curr->dx= NIL
- ret= curr
- next= NIL
- last=curr
- curr=next
- currA= nextA
- currB= nextB
- return curr
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement