home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #26 / NN_1992_26.iso / spool / comp / lang / c / 16320 < prev    next >
Encoding:
Internet Message Format  |  1992-11-11  |  1.2 KB

  1. From: Neal.Sanche@ttlg.UUCP (Neal Sanche)
  2. Sender: postmaster@ttlg.UUCP
  3. Path: sparky!uunet!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!destroyer!cs.ubc.ca!alberta!nebulus!ttlg!postmaster
  4. Newsgroups: comp.lang.c
  5. Subject: Re: To Recurse or NOT to
  6. Message-ID: <721474484.0@ttlg.ttlg.UUCP>
  7. Date: 10 Nov 92  22:24:06 mst
  8. Lines: 27
  9.  
  10. -U> > What is better to do when traversing a linked list..... SHould I use
  11. -U> > recursion to search down through the list for the last node, or should I
  12. -U> use a while loop?  What or the pro's and con's of each?
  13.  
  14. A while loop is probably the best and is really the easiest to program.
  15. It can be done quickly as follows:
  16.  
  17.   list *mylist;
  18.   list *tail;
  19.  
  20.   tail = mylist;
  21.   while (tail->next) {
  22.     tail = tail->next;
  23.   }
  24.  
  25.   This will leave tail pointing to the last element in the list.
  26.   The only space require on the stack for this implementation in
  27.   the space for one pointer (4 bytes in large model) whereas
  28.   with recursion you are looking at n times as much, where n is
  29.   the number of elements in the list. And as Rick pointed out,
  30.   a lot more time wasted via function calls and so on.
  31.  
  32.   -Neal
  33. ___
  34.  X OLX 2.1 TD X I give up, what is the meaning of life?
  35.  
  36.  * Origin: Paradigm BBS: A programmer's paradise. (42:100/11)
  37.