• 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()
  • C

    举一反三

    内容

    • 0

      中国大学MOOC: 下列程序的运行结果是 。 #include<iostream>using namespace std;char *fun(char *str, char c){ while ( *str!=’\0’) if(*str==c) return (str); else str++; return (NULL);}void main(){ char s [80] = “warrior”, *p; p=fun(s, ‘r’); if(p) cout<<p<<endl;p=fun(s, ‘i’); if(p) cout<<p<<endl;p=fun(s, ‘b’); if(p) cout<<p<<endl;}

    • 1

      对一不带头结点的链栈S,若元素e(其结点由指针p指向)入栈,则正确的操作为( )。 A: S=p->;next;p=S; B: p->;next=S->;next;p=S; C: S=p;p->;next=S; D: p->;next=S;S=p;

    • 2

      电子组态1s2p所构成的原子态为( )。 A: 1s2p1S0,1s2p1P1, 1s2p3S1 1s2p3P2,1,0 B: 1s2p1S0,1s2p1P1 C: 1s2p1S0,1s2p3S1 D: 1s2p1P1,1s2p3P2,1,0

    • 3

      试判断原子态:1s1s3S1,1s2p3P2,1s2p1D1,2s2p3P2中,下面哪组是存在的? A: 1s1s3S1,1s2p3P2; B: 1s2p3P2,1s2p1D1; C: 1s2p3P2,2s2p3P2; D: 1s1s3S1,1s2p1D1;

    • 4

      在一个单链表中,若P指针所指结点不是最后结点,在P之后插入S指针所指的结点,则应该执行的语句序列是() A: S—>link=P;P—>link=S; B: S—>link=P—>link;P—>link=S; C: S—>link=P—>link;P=S; D: P—>link=S;S—:>link=P;