Dr. Dobb's Journal June 1998
(a)
void rcount3(Tptr p)
{ while (p) {
if (p->lo) rcount3(p->lo);
count++;
p = p->hi;
}
}
(b)
void icount(Tptr p)
{ Tptr s[MAXN];
int sp = 0;
for (;;) {
while (p) {
s[sp++] = p;
p = p->lo;
}
if (sp == 0) break;
p = s[--sp];
count++;
p = p->hi;
}
}