>>Probably its most common use is to go through all the nodes of a tree/hierarchy (traverse a tree). Like when you need to process all the files in a directory tree.
>
>I recently wrote a recursive program to mimic the deltree command. (delete files, recursively delete sub-dirs, remove the now-empty directory)
>
>It is fast and code efficient. I learned the hard way though that the ".." directory can cause some grief- I wanted to remove c:\delme, where the filesystem lists ".." as the parent directory. The code ran on the parent (root of c:) and it effectively deleted everything on my hard drive! It stopped on an in-use windows file, but i learned how many more windows critical files weren't in-use (and therefore gone) when i tried to reboot later.
>
>I don't know what table-like data would be modelled with a directed graph, but recursion is an efficient way to traverse a graph too... (at least that was the example we used for recursion)
That's the kind of function that you want to SET STEP ON when testing!
Joe
Joseph C. Kempel
Systems Analyst/Programmer
JNC