void bst<type>::_postorder(np cur, void(*visit)(type data)) { if (cur != NULL) { _postorder(cur->left, visit); _postorder(cur->right, visit); (*visit)(cur->_data); } }
static void _postorder(std::stringstream& ss, Node* node) { if (node == nullptr) return; _postorder(ss, node->left); _postorder(ss, node->right); ss << node->data << "|"; }
void BinaryTree::_postorder(void visit(Website &), BinaryNode* nodePtr) const { //left-right-root if (nodePtr == 0) { return; } _postorder(visit, nodePtr->getLeftPtr()); _postorder(visit, nodePtr->getRightPtr()); Website web = nodePtr->getWebsite(); visit(web); }
std::string bt<T>::DFTraverse_postorder() const { std::stringstream ss; _postorder(ss, _tree); return std::move(ss.str()); }
void postorder(void(*visit)(type)) { _postorder(_root, visit); };
void aguri_aggregate(aguri_t *tp, u_int64_t thresh) { _postorder(tp->tr_top, _agg, (void *)&thresh); }