/*
* Iterative DepthFirst file list (c) Victor Yodaiken 2013
*
* "Not the way we do it in Brooklyn" - Dave "Kinch" Arnow.
*
*
* Data structure is P - the current path, with some aux data
*
* Two basic operations:
* 1) Lp(P) - starts at path P and extends it to the leftmost
* reachable file/directory
* 2) IterateDF(P) iterates by advancing a path to the next in depth
* first order
*
* So program is
*
* Initialize(P);
* do{
* PrintPath(P);
* }while(IterateDF(P) != EOF)
*
*
* Horribly inefficient - can be cured by caching positions in directory
* entries.
*
* */
Link to Code
↧
Paths versus Recursion
↧