No need to count the number of nodes. Since its implemented as a linked list
traverse the list with two two pointers one incremented one node next and
other incremented two nodes next simultaneously.

void delete_MiddleStack(node **h)
{

     if(*h==NULL)
     return;
     node *p,*q;
    p=*h;
  q=*h;
 while(q->next!=NULL)
{
    p=p->next;
    if(q->next==NULL)
    q=q->next;
  else q=q->next->next;
}
p->ele=p->next->ele;
q=p->next;
p->next=p->next->next;
free(q);
}







*Muthuraj R
IV th Year , ISE
PESIT , Bangalore*



On Mon, Aug 22, 2011 at 5:08 AM, vikas <vikas.rastogi2...@gmail.com> wrote:

> why to bother this much...? just count the elements when popping and
> output the middle one .
> while(!s.empty()){
> e= s.pop()
> count++
> q.enq(e);
> }
>
> count <<= 2;
>
> while(count){
> e = q.deq();
> s.push(e);
> count --;
> }
> output s.top()
>
> while(!q.empty()){
> e = q.deq();
> s.push(e);
> }
>
>
> On Aug 22, 4:27 pm, Shravan Kumar <shrava...@gmail.com> wrote:
> > Pop each element and en-queue it twice and de-queue it once. When stack
> is
> > empty the front of the queue will be middle element.
> >
> >
> >
> >
> >
> >
> >
> > On Mon, Aug 22, 2011 at 4:01 PM, Ankur Garg <ankurga...@gmail.com>
> wrote:
> > > Find the middle of the stack..(Time complexity should be minimum)
> >
> > > Stack is not implemented as Linked List ...u have normal stack with
> > > push,pop and top
> >
> > > How to do this ??
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups
> > > "Algorithm Geeks" group.
> > > To post to this group, send email to algogeeks@googlegroups.com.
> > > To unsubscribe from this group, send email to
> > > algogeeks+unsubscr...@googlegroups.com.
> > > 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 algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> 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 algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to