void output_order(userid root) { queue<userid> roots; roots.push(root); while (!roots.empty()) { const userid u = roots.front(); roots.pop(); const EdgeSet& oe = nodes[u].outedges; printf("%s\n", usermap[u].c_str()); for (EdgeSet::const_iterator i = oe.begin(); i != oe.end(); i++) { // \n to fit on lj if (--nodes[*i].indegree == 0) roots.push(*i); } } }
Getting to that place was about 10x more support code.
But more importantly, the results are crap-- I don't have enough of a picture to really get anything out of the LJ data. Oh well, it wasn't really a useful project anyway.