posts - 63, comments - 37, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 ::  :: 管理
算法:用堆栈实现
创建堆栈
把根节点压入堆栈
当堆栈不为空时,循环
      弹出一个节点
      如果这个节点不是NULL
               输出该值
               把这个节点的右节点压入堆栈
               把这个节点的左节点压入堆栈


void PreOderTranversal(node *root)

{

    element *TheStack;

    void *data;

    node *CurNode;

   

    CreateStack(&TheStack);

    Push(&TheStack, root);

   

    while(Pop(&TheStack, &data)){

        CurNode = (node *)data;

        if(CurNode){

            printf("%d\n", CurNode->value);

            Push(&TheStack, CurNode->right);

            Push(&TheStack, CurNode->left);

        }

       

    }

    DeleteStack(&TheStack);

}

只有注册用户登录后才能发表评论。