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

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

调用函数malloc,便能得到一个所需结点的空间,并返回这个结点的总大小。


参考答案

更多 “调用函数malloc,便能得到一个所需结点的空间,并返回这个结点的总大小。” 相关考题
考题 关于分支限界法的搜索策略描述错误的是() A.在扩展结点处,先生成其所有的儿子结点(分支)B.从当前的活结点表中选择上一个扩展结点。C.为了有效地选择下一扩展结点,加速搜索的进程,在每一个活结点处,计算一个函数值(限界)D.根据函数值,从当前活结点表中选择一个最有利的结点作为扩展结点,使搜索朝着解空间上有最优解的分支推进,以便尽快地找出一个最优解。

考题 ●试题三阅读下列函数说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。【函数3说明】函数DeleteNode(Bitree*r,int e)的功能是:在树根结点指针为r的二叉查找(排序)树上删除键值为e的结点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树结点的类型定义为:typedef struct Tnode{int data;/*结点的键值*/struct Tnode*Lchild,*Rchild;/*指向左、右子树的指针*/}*Bitree;在二叉查找树上删除一个结点时,要考虑三种情况:①若待删除的结点p是叶子结点,则直接删除该结点;②若待删除的结点p只有一个子结点,则将这个子结点与待删除结点的父结点直接连接,然后删除结点p;③若待删除的结点p有两个子结点,则在其左子树上,用中序遍历寻找关键值最大的结点s ,用结点s的值代替结点p的值,然后删除结点s,结点s必属于上述①、②情况之一。【函数3】int DeleteNode(Bitree*r,int e){Bitree p=*r,pp,s,c;while( (1) ){/*从树根结点出发查找键值为e的结点*/pp=p;if(e<p->data)p=p->Lchild;else p=p->Rchild;}if(!p)return-1;/*查找失败*/if(p->Lchild p->Rchild) { /*处理情况③*/s= (2) ;pp=p;while( (3) ){pp=s;s=s->Rchild;}p->data=s->data;p=s;}/*处理情况①、②*/if( (4) )c=p->Lchild;else c=p->Rchild;if(p==*r)*r=c;else if( (5) )pp->Lchild=c;else pp->Rchild=c;free(p);return 0;}

考题 ● 以下应用中,必须采用栈结构的是 (41) 。(41)A. 使一个整数序列逆转B. 递归函数的调用和返回C. 申请和释放单链表中的结点D. 装入和卸载可执行程序

考题 阅读下列C函数和函数说明,将应填入(n)处的字句写在对应栏内。【说明】函数DeleteNode (Bitree *r, int e)的功能是:在树根结点指针为r的二叉查找(排序)树上删除键值为e的结点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树结点的类型定义为:typedef struct Tnode{int data; /*结点的键值*/struct Tnode *Lchild, *Rchild; /*指向左、右子树的指针*/}*Bitree:在二叉查找树上删除一个结点时,要考虑3种情况:①若待删除的结点p是叶子结点,则直接删除该结点;②若待删除的结点p只有一个子结点,则将这个子结点与待删除结点的父结点直接连接,然后删除结点p;③若待删除的结点p有两个子结点,则在其左子树上,用中序遍历寻找关键值最大的结点s,用结点s的值代替结点p的值,然后删除结点s,结点s必属于上述①、②情况之一。【函数】int DeleteNode (Bitree *r,int e) {Bitree p=*r,pp,s,c;while ( (1) ){ /*从树根结点出发查找键值为e的结点*/pp=p;if(e<p->data) p=p->Lchild;else p=p->Rchild;}if(!P) return-1; /*查找失败*/if(p->Lchild p->Rchild) {/*处理情况③*/s=(2);pp=pwhile (3) {pp=s;s=s->Rchild;}p->data=s->data; p=s;}/*处理情况①、②*/if ( (4) ) c=p->Lchild;else c=p->Rchild;if(p==*r) *r=c;else if ( (5) ) pp->Lchild=c;else pp->Rchild=c;free (p);return 0;}

考题 试题四阅读下列函数说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。[函数说明]函数DeleteNode(Bitree *r,int e)的功能是:在树根结点指针为r的二叉查找(排序)树上删除键值为e的结点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树结点的类型定义为:typedef struct Tnode{int data;struct Tnode *Lchild,*Rchild;}*Bitree;在二叉查找树上删除一个结点时,要考虑三种情况:1若待删除的结点p是叶子结点,则直接删除该结点;2若待删除的结点p只有一个子结点,则将这个子结点与待删除结点的父结点直接连接,然后删除结点p;3若待删除的结点p有两个子结点,则在其左子树上,用中序遍历寻找关键值最大的结点s,用结点s的值代替结点p的值,然后删除结点s,结点s必属于上述1、2情况之一。[函数代码]int DeleteNode(Bitree *r,int e) {Bitreep = *r, pp, s, c;while( (1) ) { /*从树根结点出发查找键值为e的结点*/pp = p;if ( e p-data) p = p - Lchild;else p = p-Rchild;}if(!p) return –1; /* 查找失败 */if(p-Lchild p-Rchild) { /* 处理情况3 */s = (2);pp = p;while ( (3) ) { pp = s; s = s- Rchild; }p-data = s -data; p = s;}/*处理情况1、2*/if( (4) ) c = p - Lchild;elsec = p - Rchild;if(p == *r) *r = c;elseif ( (5) ) pp - Lchild = c;elsepp-Rchild = c;free(p);return 0;}

考题 在一个被调用函数中,关于return 语句使用的描述,( )是错误的. A、被调用函数中可以不用return语句B、被调用函数中可以使用多个return语句C、被调用函数中,如果有返回值,就一定要有return语句D、被调用函数中,一个return语句可返回多个值给调用函数

考题 阅读下列函数说明和C函数,将应填入(n)处。【函数3说明】函数DeleteNode(Bitree * r,int e)的功能是:在树根结点指针为r的二叉查找(排序)树上删除键值为e的结点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树结点的类型定义为:typedef struct Tnode{int data; /*结点的键值*/struct Tnode * Lchild,*Rchild; /*指向左、右子树的指针*/} * Bitree;在二叉查找树上删除一个结点时,要考虑三种情况:①若待删除的结点p是叶子结点,则直接删除该结点;②若待删除的结点p只有一个子结点,则将这个子结点与待删除结点的父结点直接连接,然后删除结点P;③若待删除的结点p有两个子结点,则在其左子树上,用中序遍历寻找关键值最大的结点s,用结点s的值代替结点p的值,然后删除结点s,结点s必属于上述①、②情况之一。【函数3】int DeleteNode(Bitree * r,int e){Bitree p=*r,pp,s,c;while((1)){ /*从树根结点出发查找键值为e的结点*/pp=p;if(e<p->data)p=p->Lchild;else p=p->Rchild;{if(!p)return-1; /*查找失败*/if(p->Lchild p->Rchild){/*处理情况③*/s=(2); pp=p;while((3)){pp=s;s=s->Rchild;}p->data=s->data;p=s;}/*处理情况①、②*/if((4))c=p->Lchild;else c=p->Rchild;if(p==*r)*r=c;else if((5))pp->Lchild=c;else pp->Rchild=c;free(p);return 0;}

考题 malloc函数申请的空间位于哪一个段?

考题 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明1]L为一个带头结点的循环链表。函数LinkList deletenode(LinkList L,int c)的功能是删除L中数据域data的值大于C的所有结点,并由这些结点组建成一个新的带头结点的循环链表,其头指针作为函数的返回值。[C函数1]LinkList deletenode(LinkList L,int c){LinkList Lc,P,pre;pre=L;p=(1);Lc=(LinkList)malloc(sizeof(Listnode));Lc->next=Lc;while(P!=L)if(p->data>C){(2);(3);Lc->next=p;p=pre->next;}else{pre=p;p=pre->next;}return Lc;}[说明2]递归函数dec_to_k_2(int n,int k)的功能是将十进制正整数n转换成k(2≤k≤9)进制数,并打印。[C函数2]dec to k 2(int n,int k){ if(n!=O){dec to k 2( (4) ,k);printf("%d", (5) );}}

考题 阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。【说明2.1】L为一个带头结点的循环链表。函数deletenode(LinkList L, int c)的功能是删除L中数据域data的值大于c的所有结点,并由这些结点组建成一个新的带头结点的循环链表,其头指针作为函数的返回值。【函数2.1】LinkList deletenode(LinkList L, int c){LinkList Lc,p,pre;pre=L;p=(1);Lc=(LinkList)malloc(sizeof(ListNode) );Lc->next=Lcwhile(p!=L)if(p->data>c){(2);(3);Lc->next=p;p=pre->next;}else{pre=p;p=pre->next;}return Lc;}【说明2.2】递归函数dec_to_k_2(int n, int k)的功能是将十进制正整数n转换成k<2≤k≤9)进制数,并打印。【函数2.2】dec_to_k_2(int n, int k){ /*将十进制正整数n转换成k(2≤k≤9)进制数*/if(n!=0){dec_to_k_2((4),k);printf("%d",(5));}}

考题 链表题:一个链表的结点结构struct Node{int data ;Node *next ;};typedef struct Node Node ;(1)已知链表的头结点head,写一个函数把这个链表逆序( Intel)

考题 阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。[说明]二叉树的二叉链表存储结构描述如下:lypedef struct BiTNode{ datatype data;street BiTNode *lchiht, *rchild; /*左右孩子指针*/ } BiTNode, *BiTree;下列函数基于上述存储结构,实现了二叉树的几项基本操作:(1) BiTree Creale(elemtype x, BiTree lbt, BiTree rbt):建立并返回生成一棵以x为根结点的数据域值,以lbt和rbt为左右子树的二叉树;(2) BiTree InsertL(BiTree bt, elemtype x, BiTree parent):在二叉树bt中结点parent的左子树插入结点数据元素x;(3) BiTree DeleteL(BiTree bt, BiTree parent):在二叉树bt中删除结点parent的左子树,删除成功时返回根结点指针,否则返回空指针;(4) frceAll(BiTree p):释放二叉树全体结点空间。[函数]BiTree Create(elemtype x, BiTree lbt, BiTree rbt) { BiTree p;if ((p = (BiTNode *)malloc(sizeof(BiTNode)))= =NULL) return NULL;p->data=x;p->lchild=lbt;p->rchild=rbt;(1);}BiTree InsertL(BiTree bt, elemtype x,BiTree parent){ BiTree p;if (parent= =NULL) return NULL;if ((p=(BiTNode *)malloc(sizeof(BiTNode)))= =NULL) return NULL;p->data=x;p->lchild= (2);p->rchild= (2);if(parent->lchild= =NULL) (3);else{p->lchild=(4);parent->lchild=p;}return bt;}BiTree DeleteL(BiTree bt, BiTree parent){ BiTree p;if (parent= =NULL||parent->lchild= =NULL) return NULL;p= parent->lchild;parent->lchild=NULL;freeAll((5));return bt;

考题 给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.C中。不得增行或删行,也不得更改程序的结构!

考题 给定程序modil.c的主函数中,将a.b、c三个结点链成一个单向链表,并给各结点的数据域赋值,函数fun( )的作用是:累加链表结点数据域中的数据作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:

考题 下列给定程序是建立一个带头结点的单向链表,并用随 机函数为各结点赋值。函数fun的功能是将单向链表结点 (不包括头结点)数据域为偶数的值累加起来,并且作为函数值返回。请改正函数fun中的错误,使它能得出正确的结果。注意:部分源程序在文件MODll.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:

考题 试题三(共15分)阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。【说明】函数Insert _key (*root,key)的功能是将键值key插入到*root指向根结点的二叉查找树中(二叉查找树为空时*root为空指针)。若给定的二叉查找树中已经包含键值为key的结点,则不进行插入操作并返回0;否则申请新结点、存入key的值并将新结点加入树中,返回l。提示:二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树:●若它的左子树非空,则其左子树上所有结点的键值均小于根结点的键值;●若它的右子树非空,则其右子树上所有结点的键值均大于根结点的键值;●左、右子树本身就是二叉查找树。设二叉查找树采用二叉链表存储结构,链表结点类型定义如下:typedef struct BiTnode{int key _value; /*结点的键值,为非负整数*/struct BiTnode *left,*right; /*结点的左、右子树指针*/}BiTnode, *BSTree;【C函数】int Insert _key( BSTree *root,int key){BiTnode *father= NULL,*p=*root, *s;while( (1)&&key!=p-key_value){/*查找键值为key的结点*/father=p;if(key p-key_value)p= (2) ; /*进入左子树*/else p= (3) ; /木进入右子树*/}if (p) return 0; /*二叉查找树中已存在键值为key的结点,无需再插入*/s= (BiTnode *)malloc( (4) );/*根据结点类型生成新结点*/if (!s) return -1;s-key_value= key; s-left= NULL; s-right= NULL;if( !father)(5) ; /*新结点作为二叉查找树的根结点*/else /*新结点插入二叉查找树的适当位置*/if( key father-key_value)father-left = s;elsefather-right = s;retum 1:}

考题 以下应用中,必须采用栈结构的是( )。A.使一个整数序列逆转 B.递归函数的调用和返回 C.申请和释放单链表中的结点 D.装入和卸载可执行程序

考题 设链表中的结点是NODE类型的结构体变量,且有NODE*p;为了申请一个新结点,并由p指向该结点,可用以下语句()。Ap=(NODE*)malloc(sizeof(p));Bp=(*NODE)malloc(sizeof(NODE));Cp=(NODE)malloc(sizeof(p));Dp=(NODE*)malloc(sizeof(NODE));

考题 执行malloc(sizeof(struct BB))函数调用时,得到的动态存储空间能够保存具有struct BB结构类型的一个对象。()A对B错

考题 用回溯法解题的一个显著特征是在搜索过程中动态产生问题的解空间。在任何时刻,算法只保存从根结点到当前扩展结点的路径。如果解空间树中从根结点到叶结点的最长路径的长度为h(n),则回溯法所需的计算空间通常为()

考题 从一个栈顶指针为HS的非空链栈中删除结点并不需要返回栈顶结点的值和回收结点时,应执行()操作。

考题 设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作()。

考题 单选题函数和过程的区别为()。A 函数执行后返回一个值,而过程不需返回值B 过程执行后返回一个值,而函数不需返回值C 过程在被调用时,能执行某种特殊功能并能返回到调用它的地方D 函数在被调用时,能执行某种特殊功能并能返回到调用它的地方

考题 单选题设链表中的结点是NODE类型的结构体变量,且有NODE*p;为了申请一个新结点,并由p指向该结点,可用以下语句()。A p=(NODE*)malloc(sizeof(p));B p=(*NODE)malloc(sizeof(NODE));C p=(NODE)malloc(sizeof(p));D p=(NODE*)malloc(sizeof(NODE));

考题 判断题调用函数malloc,便能得到一个所需结点的空间,并返回这个结点的总大小。A 对B 错

考题 判断题执行malloc(sizeof(struct BB))函数调用时,得到的动态存储空间能够保存具有struct BB结构类型的一个对象。()A 对B 错

考题 填空题用回溯法解题的一个显著特征是在搜索过程中动态产生问题的解空间。在任何时刻,算法只保存从根结点到当前扩展结点的路径。如果解空间树中从根结点到叶结点的最长路径的长度为h(n),则回溯法所需的计算空间通常为()