in reply to Data Structs
You'll have to figure out some way to add the references as you add dependencies. Keep another hash around with needed dependencies as keys, and as values, an anonymous array of references to objects that depend on them. (Is this starting to hurt your head yet?) When you add a new file, look to see if it can be added to those hashes.
Once you've added all the files, iterate through the hashes, sorting them by least number of dependencies.
You could also, in step two, record *which* dependencies a file fulfills, and build an inverted tree.
I'd use objects in this case. It'd simplify things like linking.
|
|---|