【发布时间】:2012-11-16 03:13:48
【问题描述】:
所以基本上我只想使用递归打印 AVL 树的前 5 个节点
void printInOrder(void* theTree, void(*printnode)(void *data)) {
struct AVLTreeNode *node= (struct AVLTreeNode*)theTree;
if (node == NULL) return;
printInOrder(node->left, printnode);
(printnode)(node->data);
printInOrder(node->right, printnode);
}
上面的代码是一个递归的中序打印我只想修改它以只打印出树的前 5 个节点。这里还有 printnode 函数
void printnode(void *node){
struct todo *printnode = node;
printf("%s, %d\n", printnode->activity, printnode->priority);
}
【问题讨论】: