--- Thomas Hruska <[EMAIL PROTECTED]> wrote:

> Victor A. Wagner Jr. wrote:
> > At 16:18 2007-03-15, Thomas Hruska wrote:
> >> Mickey Mathieson wrote:
> >>> I am new to the group and have noticed a lot of
> questions of
> >>> recursion.
> >>> A problem that is suitable for recursion should
> produce a smaller
> >>> function that if the problem was solved without
> recursion. This has
> >>> not been the case from the postings that i have
> looked at.
> >>>
> >>> I have provided an example of recursion done
> correctly to reverse a
> >>> string. Notice how short and compact the code
> is. This is the object
> >>> of recursion - less code at the expense of more
> memory being used.
> >>>
> >>> Mickey M.
> >>> senior software engineer
> >>> http://www.constructionpartner.com
> >>>
> >>>
> >>> // Reverse String
> >>> char *RevStr(int count, char *str)
> >>> {
> >>>  char Value;
> >>>
> >>>  if (count)
> >>>  {
> >>>               Value = str[count-1];
> >>>               RevStr(count-1, str);
> >>>       }
> >>>
> >>>       if (count)
> >>>               str[strlen(str) - count] = Value;
> >>>
> >>>       return(str);
> >>> }
> >>>
> >>> int main(int argc, char* argv[])
> >>> {
> >>>
> >>>       char Test[20] = "ABCDEFGHIJK";
> >>>       char Out[20];
> >>>
> >>>       strcpy(Out,RevStr(strlen(Test), Test));
> >>>
> >>>
> >>>       return 0;
> >>> }
> >> Far simpler, safer, and faster* to just use
> BString's Reverse() method:
> >>
> >> BString MyStr("Test data");
> >>
> >> printf("%s\n", *MyStr.Reverse());
> >>
> >>
> >> * Calling strlen() every iteration of your code
> is a HUGE waste of CPU time.
> >>
> >> If you really are a "Senior Software Engineer" as
> the title in your
> >> signature states, then you REALLY need to read
> Safe C++ Design
> >> Principles.  Recursion is a HUGE no-no.  I view
> the title of "Senior
> >> Software Engineer" as someone who is intimately
> familiar with the
> >> software within a company and is also the last
> line of defense to
> >> clearing changes to the product code base.  If
> you have the view that
> >> recursion is okay, then your code base is
> probably a disaster.
> > 
> > I guess we're gonna disagree:
> > forbidding recursion is as foolish as forbidding
> goto
> > each has its place
> 
> I didn't say it was forbidden.  "HUGE no-no" and
> forbidden are 
> different.  Casual use of recursion is what I was
> referring to.
> 
> -- 
> Thomas Hruska
> CubicleSoft President
> Ph: 517-803-4197
> 
> *NEW* VerifyMyPC 2.2
> Change tracking and management tool.
> Reduce tech. support times from 2 hours to 5
> minutes.
> 
> Free for personal use, $10 otherwise.
> http://www.CubicleSoft.com/VerifyMyPC/
> 
> 
I wounder why recursion is still taught in school if
completely bad practice!



 
____________________________________________________________________________________
Finding fabulous fares is fun.  
Let Yahoo! FareChase search your favorite travel sites to find flight and hotel 
bargains.
http://farechase.yahoo.com/promo-generic-14795097

Reply via email to