else{
    ascending(s, i);
    push(top);
 }
}
@swinivas:why have you used ascending(s,i) here?
On Sat, Sep 11, 2010 at 6:40 PM, Srinivas <[email protected]>wrote:

> reverse(stack *s){
>   IsEmpty(s)
>        return;
>   top = pop(s);
>   reverse(s);
>   ascending(s, top);
> }
> ascending(stack *s, int top){
>  IsEmpty(s){
>     push(top);
>     return;
>  }
>  i = pop(s);
>  if(i > top){
>     ascending(s, top);
>     push(i);
>  }
>  else{
>     ascending(s, i);
>     push(top);
>  }
> }
>
> Please let me know if it wont work..thanks
>
> On Jul 18, 6:58 am, xyombie <[email protected]> wrote:
> > What about a quick sort O(log n)
> >
> > void sort_stack(Stack *src, Stack *dst)
> > {
> >         if(! src->IsEmpty() )
> >         {
> >                 Stack smaller, larger;
> >                 int pivot = src->Pop();
> >
> >                 while(! src->IsEmpty() )
> >                 {
> >                         int tmp = src->Pop();
> >                         if(tmp < pivot)
> >                                 smaller->Push(tmp);
> >                         else
> >                                 larger->Push(tmp);
> >                 }
> >
> >                 sort_stack(smaller, dst);
> >                 dst->Push(pivot);
> >                 sort_stack(larger, dst);
> >         }
> >
> > }
> >
> > On Jul 17, 9:28 am, vijay <[email protected]> wrote:
> >
> > > Write a C program to sort a stack in ascending order. You should not
> > > make any assumptions about how the stack is implemented. The following
> > > are the only
> > > functions that should be used to write this program:
> > > Push | Pop | Top | IsEmpty | IsFull
> > >  The algorithm is O(N^2) and appears below.
> > > Do we have any other better solution which is less than O(n * n) ?
> >
> > > void sort_stack(Stack * src, Stack * dest)
> > >  {
> > >   while (!src->IsEmpty())
> > >  {
> > >    Int tmp = src->Pop();
> > >    while(!dest->IsEmpty() && dest->Top() > tmp)
> > >   {
> > >        src->Push(dest->Pop());
> > >   }
> > >    dest->Push(tmp);
> > >   }
> >
> > > }
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<algogeeks%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to