网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

14、二叉树的先序遍历的递归实现如下: template<class T> void BinaryTree<T>::PreOrder (BinaryTreeNode<T> *root) { if (root != NULL) { ; } } 则中间部分应为:

A.Visit(root->value());PreOrder(root->leftchild());PreOrder(root->rightchild());

B.PreOrder(root->leftchild());Visit(root->value());PreOrder(root->rightchild());

C.PreOrder(root->rightchild());Visit(root->value());PreOrder(root->leftchild());

D.PreOrder(root->leftchild());PreOrder(root->rightchild());Visit(root->value());


参考答案和解析
正确
更多 “14、二叉树的先序遍历的递归实现如下: template<class T> void BinaryTree<T>::PreOrder (BinaryTreeNode<T> *root) { if (root != NULL) { ; } } 则中间部分应为:A.Visit(root->value());PreOrder(root->leftchild());PreOrder(root->rightchild());B.PreOrder(root->leftchild());Visit(root->value());PreOrder(root->rightchild());C.PreOrder(root->rightchild());Visit(root->value());PreOrder(root->leftchild());D.PreOrder(root->leftchild());PreOrder(root->rightchild());Visit(root->value());” 相关考题
考题 请将下列模板类Data补充完整。 template class Data{ public: void put(T v){va 请将下列模板类Data补充完整。template <typename T>class Data{public:void put(T v){val=v;}______get( ){return val;} //返回数据成员val的值,返回类型不加转换private:T val;};

考题 If the square root of t is a real number, is the square root of t positive?(1) t>0(2) t2>0

考题 下列是模板声明的开始部分,其中正确的是A.templateB.templateC.template 下列是模板声明的开始部分,其中正确的是A.template<T>B.template<class T1,T2>C.template<class T1,class T2>D.template<class T1;class T2>

考题 ( 25 )有如下模板声明:template typename T1, typename T2 class A;下列声明中,与上述声明不等价的是A ) template class T1, class T2 class A;B ) template class T1, typename T2 class A;C ) template typename T1, class T2 class A;D ) template typename T1, T2 class A;

考题 下列对模板的声明中,正确的是A.templateB.templateC.template 下列对模板的声明中,正确的是A.template<T>B.template<class T1,T2>C.template<class T1,class T2>D.tamplate<class T1;class T2>

考题 阅读下列C++程序和程序说明,将应填入(n)处的字句写在对应栏内。【说明】设单链表的结点类和链表类的定义如下,链表不带有表头结点。请填空:include<iostream.h>include<assert.h>template<class T>class List;template<class T>class ListNOde{friend (1);private:T data;ListNode<T> *link;public:ListNode():link(NULL)()ListNOde(const T item,ListNOde<T>*next=NULL):data(item),link(next){}};template<class T>class List{private:ListNode<T>*first;void createList(T A[],int n,int i,ListNOde<T>*p);void printList(ListNOde<T>*p);public:List();~List();friend ostream operator<<(ostream ost,List<T>L);friend istream operator>>(istream ist,List<T>L);};template<class T>istream operator>>(istream ist,List<T>1){int i,n; ist>>n;T A[n];for(i=0;i<n;i++) (2);createList(A,n,0,first);}template<class T>void List<T>::createList(TA[],int n,int i,ListNOde<T>* p){//私有函数:递归调用建立单链表if(i==n)p=NULL;else{p=new ListNode<T>(A[i]);assert(p !=NULL);createList((3));}}template<class T>ostream operator<<(ostream ost,List<T> L){(4);}template<class T>void List<T>::printList(ostream ost,ListNode<T>*p){if(p!=NULL){ost<<p->data;(5);}}

考题 如果二叉树T2是由一棵树T1转换而来的二叉树,那么T1中结点的先根序列对应T2的()序列。 A.先序遍历B.中序遍历C.后序遍历D.层次遍历

考题 类模板templateclass x{…},其中,友元函数f对特定类型T(如int),使函数f(x=成 类模板template<class T>class x{…},其中,友元函数f对特定类型T(如int),使函数f(x<int>=成为x<int>模板类的友元,则其说明为( )。A.friend void f();B.friend void f(x<T>=;)C.friend void A::f()D.friend void C<T>::f(x<T>=;)

考题 下列对模板的声明中正确的是()。A.templateB.templateC.template 下列对模板的声明中正确的是( )。A.template<T>B.template<class T1,T2>C.template<classT1,class T2>D.template<class T1;class T2>

考题 下列模板的声明中,正确是A.templateB.templateC.templateD. 下列模板的声明中,正确是A.template<T>B.template<class T1,T2>C.template<class T1,class T2>D.template<class T1 ;class T2>

考题 下面不属于同一函数模板的是()。A.template t1 max(t1 a,t1 b) {…}template 下面不属于同一函数模板的是( )。A.template<class t1> t1 max(t1 a,t1 b) {…}template<class t2> t2 max(t2 a,t2 b) {…}B.template<class t1>t1 max(t1 a,t1 b){…}template<class t2>t2 max(t2 a,t2 b){…}C.template<class t1> t1 max(t1 * a,t1 * b) {…} template<class t2> t2 max(t2 a,t2 b) {…}D.template<class t1>t1 max(t1 a,t1 b){…}template<class t2>t2 max(t2 a,t2 b,t2 c){…}

考题 已知程序的结果为1 2 3,请填空。 include template class A { public: T X, 已知程序的结果为1 2 3,请填空。include<iostream.h>template<class T>class A{public:T X, y, z;void display( ) {cout < < x < < " " < < y < < " " < < z;}};void main( ){A<int>a1;_______________a1.display( ) ;}

考题 阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。【说明】本程序利用非递归算法实现二叉树后序遍历。【函数】include<stdio.h>include<stdlib.h>typedef struct node{/*二叉树的结点数据结构类型*/char data;struct node *left;struct node *right;}BTREE;void SortTreelnsert(BTREE **tree, BTREE *s){if(*tree==NULL)*tree=s;elseif(s->data<(*tree)->data)SortTreelnsert((1),s);else if(s->data>=(*tree)->data)SortTreelnsert((2),s);}void TraversalTree(BTREE *tree){BTREE *stack[1 000],*p;int tag[1000],top=0;p=tree;do{while(p !=NULL){stack[++top]=p;(3);tag[top]=0; /*标记栈顶结点的左子树已进行过后序遍历*/}while(top>0(4))/*栈顶结点的右子树是否被后序遍历过*/{p=stack[top--];putchar(p->data);}if(top>0)/*对栈顶结点的右子树进行后序遍历*/{(5);tag[top]=1;}}while(top>0);}void PrintSortTree(BTREE *tree){if(tree !=NULL){printSortTree(tree->left);putchar(tree->data);pdntSortTree(tree->right);}}main(){BTREE *root=NULL, *node;char ch;ch=getchar();while(ch !=''){node=(BTREE*)malloc(sizeof(BTREE));node->data=ch;node->left=node->right=NULL;SortTreelnsert(root, node);ch=getchar();}PrintSortTree(root);putchar('\n');TraversalTree(root);}

考题 ● 若将某有序树 T 转换为二叉树 T1,则 T 中结点的后(根)序序列就是 T1 中结点的 (27) 遍历序列。例如下图(a)所示的有序树转化为二叉树后如图(b)所示。(27)A. 先序B. 中序C. 后序D. 层序

考题 下列程序用于打印出ASCⅡ字符,其析构函数内的语句应为【 】。 include inelude 下列程序用于打印出ASCⅡ字符,其析构函数内的语句应为【 】。include<iostream. h>inelude<iomanip, h>template<class T>class Array{T * elems;int size;public:Array(int.s);~Array()T operator[](int)void perator=(T)};template<class T>Array<T>::Array(int s)size=s;elems=new T[size]for(int i=0;i<size;i++)elems[i]=0}template<celass T>Array<T>::~Array(){______template <class T>T Array<T>::operator[](int index){return elems[index];}template<class T>void Array<T>::operator=(T temp){for(int i=0;i<size;i++)elems[i]=temp;}void main(){int i,n=26;Array<int> arr1(n)Array<char> arr2(n)for(i=0;i<n;i++){ -.arr1[i]='a'+i;arr2[i]='a'+i;}cout<<"ASCII 字符"<<endl;for(i=0;i<n;i++)cout<<setw(8)<<arr1[i]<<setw(8)<<arr2[i]<<endl;}

考题 下列对模板的声明,正确的是()。A.templateB.templateC.template 下列对模板的声明,正确的是( )。A.template<T>B.template<class T1,T2>C.template<class T1,class T2>D.template<class T1;class T2>

考题 以下程序的执行结果是()。includetemplateclass Sample{ T n;Public: Samp 以下程序的执行结果是( )。 #include<iostream.h> template<class T> class Sample { T n; Public: Sample (T i){n=i;) void operator ++(); void disp() {cout<<"n="<<n<<endl;} }; template<class T> void Sample<T>:: opetatA.n=aB.a=OC.n=bD.a=b

考题 ● 若将某有序树 T 转换为二叉树 T1,则 T 中结点的后(根)序序列就是 T1 中结点的 (59) 遍历序列。例如,下图(a)所示的有序树转化为二叉树后如图(b)所示。(59)A. 先序B. 中序C. 后序D. 层序

考题 阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。【说明】本程序从正文文件text.in中读入一篇英文短文,统计该短文中不同单词及出现次数,并按词典编辑顺序将单词及出现次数输出到正文文件word.out中。程序用一棵有序二叉树存储这些单词及其出现的次数,边读入边建立,然后中序遍历该二叉树,将遍历经过的二叉树上的结点的内容输出。include <stdio.h>include <malloc.h>include <ctype.h>include <string.h>define INF "text.in"define OUTF "wotd.out"typedef struct treenode{char *word;int count;struct treenode *left,*right;}BNODEint getword (FILE *fpt,char *word){ char c;c=fgetc (fpt);if ( c=EOF)return 0;while(!(tolower(c)>='a' tolower(c)<='z')){ c=fgetc (fpt);if ( c==EOF)return 0;} /*跳过单词间的所有非字母字符*/while (tolower (c)>='a' tolower (c)<='z'){ *word++=c;c=fgetc (fpt);}*word='\0';return 1;}void binary_tree(BNODE **t,char *word){ BNODE *ptr,*p;int compres;P=NULL; (1);while (ptr) /*寻找插入位置*/{ compres=strcmp (word, (2) );/*保存当前比较结果*/if (!compres){ (3);return;}else{ (4);ptr=compres>0? ptr->right:ptr->left;}}ptr= (BNODE*) malloc (sizeof (BNODE)) ;ptr->left = ptr->right = NULL;ptr->word= (char*) malloc (strlen (word) +1) ;strcpy (ptr->word, word);ptr->count - 1;if (p==NULL)(5);else if (compres > 0)p->right = ptr;elsep->left = ptr;}void midorder (FILE **fpt, BNODE *t){ if (t==NULL)return;midorder (fpt, t->left);fprintf (fpt, "%s %d\n", t->word, t->count)midorder (fpt, t->right);}void main(){ FILE *fpt; char word[40];BNODE *root=NULL;if ((fpt=fopen (INF,"r")) ==NULL){ printf ("Can't open file %s\n", INF )return;}while (getword (fpt, word) ==1 )binary_tree (root, word );fclose (fpt);fpt = fopen (OUTF, "w");if (fpt==NULL){ printf ("Can't open file %s\n", OUTF)return;}midorder (fpt, root);fclose(fpt);}

考题 下列的模板说明中,正确的是( )。A.template B.template C.template 下列的模板说明中,正确的是( )。A.template <T1,T2>B.template <class T1,T2>C.template <class T1,class T2>D.template <typename T1;typename T2>

考题 类模板templateclass x(…),其中,友元函数f成为从该类模板实例化的每个模板类的友元,则 类模板template<class T>class x(…),其中,友元函数f成为从该类模板实例化的每个模板类的友元,则其说明应为( )。A.friend void f();B.friend void f(x<T>)C.friend void A::f();D.friend void C<T>::f(x<T>):

考题 以下对模板的说明,正确的是()。A.templateB.templateC.template 以下对模板的说明,正确的是( )。A.template<T>B.template<classT1,T2>C.template<class T1,class T2>D.template<class T1;class T2>

考题 下列对模板的声明中正确的是A.templateB.templateC.template 下列对模板的声明中正确的是A.template<T>B.template<class T1,T2>C.template<class T1,class T2>D.template<class T1;class T2>

考题 有如下模板声明:templateclass A;下列声明中,与上述声明不等价的是A.t 有如下模板声明: template<typename T1,typename T2>class A; 下列声明中,与上述声明不等价的是A.template<class T1,class T2>class A;B.template<class T1,typename T2>class A;C.template<typename T1,class T2>class A;D.template<typename T1,T2>class A;

考题 以下程序的执行结果是()。includetemplateclass Sample{T n:public:Sample 以下程序的执行结果是( )。 #include<iostream.h> template<class T> class Sample { T n: public: Sample(T i) {n=i;} void operator++(); void disp(){cout<<"n="<<n<<endl;} }; template<class T> void Sample<T>::operator++() { n+=1; // 不能用n++, 因为double型不能用++ } void main() { Sample<char>s('a'); s++; s.disp(); }A.n=aB.a=0C.n=bD.a=b

考题 如果S是由有序树T转换的二叉树,则T中的结点的后序遍历顺序是S结点的()。A.先序遍历 B.中序遍历 C.后序遍历 D.层次遍历

考题 二叉树的先序遍历和中序遍历如下:先序遍历:EFHIGJK;中序遍历:HFIEJKG。该二叉树根的右子树的根是()A.E B.F C.G D.H

考题 问答题If the square root of t is a real number, is the square root of t positive?  (1) t 0  (2) t2 0