Jun 25, 2009

Non recursion in-order

Non recursion in-order

void inorder(const Node* node) {
std::stack stack;
while (node != NULL || !stack.empty()) {
if (node == NULL) {
node = stack.top(); stack.pop();
process(node->value);
node = node->right;
}
if (node != NULL) {
stack.push(node);
node = node->left;
}
}
}

No comments:

Post a Comment