[ Home  |  FAQ-Related Q&As  |  General Q&As  |  Answered Questions ]


    Search the Q&A Archives


To split a list into two other lists using list ADT, so that...

<< Back to: comp.lang.c FAQ list Table of Contents

Question by David Njubi
Submitted on 7/12/2004
Related FAQ: comp.lang.c FAQ list Table of Contents
Rating: Not yet rated Rate this question: Vote
To split a list into two other lists using list ADT, so that items that were in odd-numbered positions are now in one list (in the same relative order as before) and those from even-numbered positions are in the other new list.


Answer by Abhi
Submitted on 6/3/2006
Rating: Not yet rated Rate this answer: Vote
struct Link *SplitList(struct Link **ptr)
{


struct Link *Temp, *tail, *second,*temp;

Temp = *ptr;


while (Temp != NULL || Temp->pointer != NULL)
{


   second = Temp->pointer;

   
   tail = Temp->pointer->pointer;

   
   second->pointer = NULL;

   if(Even == NULL)
   Even = second;
   
   else
   {   
      
      temp = Even;
      while(temp->pointer!= NULL)
         temp = temp->pointer;


   temp->pointer = second;

   }


   Temp->pointer = tail;

   Temp = Temp->pointer;

   if(Temp == NULL || Temp->pointer == NULL )
      break;


}

return (*ptr);


}

 

Your answer will be published for anyone to see and rate.  Your answer will not be displayed immediately.  If you'd like to get expert points and benefit from positive ratings, please create a new account or login into an existing account below.


Your name or nickname:
If you'd like to create a new account or access your existing account, put in your password here:
Your answer:

FAQS.ORG reserves the right to edit your answer as to improve its clarity.  By submitting your answer you authorize FAQS.ORG to publish your answer on the WWW without any restrictions. You agree to hold harmless and indemnify FAQS.ORG against any claims, costs, or damages resulting from publishing your answer.

 

FAQS.ORG makes no guarantees as to the accuracy of the posts. Each post is the personal opinion of the poster. These posts are not intended to substitute for medical, tax, legal, investment, accounting, or other professional advice. FAQS.ORG does not endorse any opinion or any product or service mentioned mentioned in these posts.

 

<< Back to: comp.lang.c FAQ list Table of Contents


[ Home  |  FAQ-Related Q&As  |  General Q&As  |  Answered Questions ]

© 2008 FAQS.ORG. All rights reserved.