I was answering a question - I don not use recursion
in my code.
--- Thomas Hruska <[EMAIL PROTECTED]> 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.
> 
> -- 
> 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/
> 
> 



 
____________________________________________________________________________________
The fish are biting. 
Get more visitors on your site using Yahoo! Search Marketing.
http://searchmarketing.yahoo.com/arp/sponsoredsearch_v2.php

Reply via email to