Hi John,
Although you're welcome to believe that I don't know what recursion is,
if you could read C++ you'd quickly realize that I use recursion in my code,
including this from X.CPP (
http://www.Cotse.NET/users/jeffrelf/X.CPP )
which quick-sorts articles based on their score:
// _B points to the biginning of the array of articles
// _E points to one beyond the end of the array.
void QSort_Pnts ( LsA _B, LsA _E ) { if ( _E <= _B ) return;
LsA B = _B - 1, E = _E + 1 ; int Pnts = ( * _B )->Pnts ;
LOOP { while ( ( * ++ B )->Pnts > Pnts );
while ( E >= B && ( * -- E )->Pnts < Pnts );
if ( E < B ) break;
if ( B < E ) { LsP T = * B ; * B = * E ; * E = T ; } }
QSort_Pnts ( _B, E ); QSort_Pnts ( E + 1, _E ); }
..+.+.+.+.+.+
#define LOOP while ( 1 )
typedef char * LnP ; typedef LnP * LnA ; struct LnT { LnA B, P, E ; };
struct HeaderT {
LnP NG, MID, _1, _2, _3, _4, _5, Title, Name_Date_Path_ Reader ; };
struct NodeT { int HasH, FromTo, Del, Pnts ;
HeaderT H ; int Num ; int BodyCnt ; LnA Body ; };
typedef NodeT * LsP ; typedef LsP * LsA ; struct LsT { LsA B, P, E ; };
..+.+.+.+.+.+
I can show many more examples of recursion from my code... of course.
You wrote: <<
The premise of the *c's* is: elegance, simplicity, efficiency.
Jeff -- You are a person who wants to throw in
the /Kitchen/ /Sink/ in your code, to show just " how much c you know ".
You cram together mounds of 'c' code into a mush,
and then slam it in people's faces, and then when they say,
what is this crap, you whine and kick your feet.
Jeff, there is a difference between dumbfounding them with brilliance,
the way a Brancusi status invites derision via it's simplicity,
and your code, which invites derision the way a dog,
pooping on a street corner might. >>
Anyone complaining about my C++ code ( or English ),
is just demonstrating their ignorance/arrogance, especially you, John.