Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Algo(A,p,r,L)
- currentL=L;
- currentR=r;
- currentP=p;
- StackP=StackR=StackL'=StackQ=NULL;
- while(currentP<=currentR || StackP!=NULL)do
- if(currentP<=currentL)then
- ret=currentL;
- L'=Allocanodo;
- L'->key=A[q];
- q=(currentP+currentR)/2;
- StackP=push(StackP,currentP);
- StackR=push(StackR,currrentR);
- StackL'=push(StackL',L');
- StackQ=push(StackQ,q);
- if(A[q]%2=0)then
- currentP=q+1;
- else
- currentR=q-1;
- else
- currentP=Top(StackP);
- currentR=Top(StackR);
- L'=Top(StackL');
- q=Top(StackQ);
- if(currentP!=q+1)then
- if(A[q]%2=0)then
- L->next=ret;
- currentR=q-1;
- currentL=L';
- else
- last=currentP;
- currentP=currentR+1;
- StackP=pop(StackP);
- StackR=pop(StackR);
- StackL'=pop(StackL');
- StackQ=pop(StackQ);
- else
- if(a[q]%2=0)then
- last=currentP;
- currentP=currentR+1;
- StackP=pop(StackP);
- StackR=pop(StackR);
- StackL'=pop(StackL');
- StackQ=pop(StackQ);
- else
- L'->next=ret;
- currentP=q+1;
- currentL=L';
- return ret;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement