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

  1. Path: sparky!uunet!ukma!darwin.sura.net!spool.mu.edu!olivea!news.bbn.com!papaya.bbn.com!cbarber
  2. From: cbarber@bbn.com (Chris Barber)
  3. Newsgroups: comp.lang.c
  4. Subject: Re: To Recurse or NOT to recurse?
  5. Message-ID: <4223@litchi.bbn.com>
  6. Date: 9 Nov 92 17:25:00 GMT
  7. References: <1992Nov6.185136.8055@netcom.com>
  8. Organization: BBN Systems and Technology, Inc.
  9. Lines: 20
  10.  
  11. In article <1992Nov6.185136.8055@netcom.com> sjs@netcom.com 
  12. (Stephen Schow) writes:
  13. >What is better to do when traversing a linked list..... SHould I use recursion
  14. >to search down through the list for the last node, or should I use a while
  15. >loop?  What or the pro's and con's of each?
  16.  
  17. Recursion should usually be avoided in C for reasons of efficiency.  A
  18. recursive linked-list traversal will require much greater overhead both for
  19. CPU cycles (because of the instructions needed to make function calls) and
  20. storage space (because of the use of the stack) than a while-loop traversal.
  21. However, recursion can be appropriate if it greatly simplifies the code and
  22. will not need to recurse very many levels, thus minimizing the cost of the
  23. overhead.
  24.  
  25. This advice does not apply to code written in Lisp and other languages that
  26. optimize tail-recursion.
  27.  
  28. -- 
  29. Christopher Barber
  30. (cbarber@bbn.com)
  31.