• 2022-06-16 问题

    二叉树的非递归遍历是通过将递归工作栈自己进行管理来设计的,下列中根序遍历的非递归算法中(1)的正确判断语句应该是( )。template void BinaryTree :: InOrderTraverse () { stack S; BiTreeNode * p; S.makeEmpty( ); p = root; //初始化 do{ while ( p ) { S.push(p); p = p→leftChild; } if ( !S.empty( ) ) { //栈非空 p = S.top( ); S.pop( ); //退栈 cout<< p→data; //访问根结点 p = p→rightChild; //向右链走 } } while ( (1) );} A: p != NULL B: !empty( ) C: p!= NULL || !empty() D: p!= NULL && !empty()

    二叉树的非递归遍历是通过将递归工作栈自己进行管理来设计的,下列中根序遍历的非递归算法中(1)的正确判断语句应该是( )。template void BinaryTree :: InOrderTraverse () { stack S; BiTreeNode * p; S.makeEmpty( ); p = root; //初始化 do{ while ( p ) { S.push(p); p = p→leftChild; } if ( !S.empty( ) ) { //栈非空 p = S.top( ); S.pop( ); //退栈 cout<< p→data; //访问根结点 p = p→rightChild; //向右链走 } } while ( (1) );} A: p != NULL B: !empty( ) C: p!= NULL || !empty() D: p!= NULL && !empty()

  • 1