[填空题] 函数实现单链表的删除算法,请在空格处将算法补充完整。int ListDelete(LinkList L,int i,ElemType *s){LNode *p,*q;int j;p=L;j=0;while(((1) )&&(jnext;j++;}if(p->next==NULLj>i-1) return ERROR;q=p->next; (2);*s=q->data;free(q);return OK;}/*listDelete*/
[主观题]函数实现单链表的删除算法,请在空格处将算法补充完整。
[填空题] 函数实现串的模式匹配算法,请在空格处将算法补充完整。intindex_bf(sqstring*s,sqstring*t,intstart){inti=start-1,j=0;while(ilen&&jlen)if(s->data[i]==t->data[j]){i++;j++;}else{i=();j=0;}if(j>=t->len)return();elsereturn-1;}}/*listDelete*/
[填空题] 函数实现单链表的插入算法,请在空格处将算法补充完整。int ListInsert(LinkList L,int i,ElemType e){LNode *p,*s;int j;p=L;j=0;while((p!=NULL)&&(jnext;j++;}if(p==NULLj>i-1) return ERROR;s=(LNode *)malloc(sizeof(LNode));s->data=e;(1) ;(2);return OK;}/*ListInsert*/
[填空题] 函数GetElem实现返回单链表的第i个元素,请在空格处将算法补充完整。int GetElem(LinkList L,int i,Elemtype *e){LinkList p;int j;p=L->next;j=1;while(p&&ji)return ERROR;*e= (2) ;return OK;}
[填空题] 函数depth实现返回二叉树的高度,请在空格处将算法补充完整。intdepth(Bitree*t){if(t==NULL)return0;else{hl=depth(t->lchild);hr=());if(())returnhl+1;elsereturnhr+1;}}
[判断题] 边标志算法与活性边表算法比较,更适合于软件实现。A . 正确B . 错误
[主观题]阅读下列算法说明和算法流程,将应填入(n)处的字句写在对应栏内。(算法说明)程序实现了常见的猜数字游戏。游戏开始时由程序自动产生一个1到100的随机数,接收用户输入,并给出提示信息,直至用户猜对。用户猜对后,显示猜测次数,并提供“重新开始”和“退出”功能。算法采用两层循环实现。外层循环采用do-while循环,由循环条件控制是否重新开始。内层采用for循环,用于判断用户的每次输入。m是随机产生的整数,键盘输入是字符串类型变量,n是整型变量。(问题1)内循环还需要一个变量,其作用为(1)。(问题2
[单选题]设线性表中有2n个元素,算法( ),在单链表上实现要比在顺序表上实现效率更高。A.删除所有值为x的元素B.在最后一个匀速的后面插入一个新元素C.顺序输出前k个元素D.交换第i个元素和第2n-i-1个元素的值(i=0,1,…,n-1)
[主观题]对长度为n顺序表的删除算法,它最坏情况的时间复杂性及其量级分别是______和______,平均时间复杂性及其量级分别为______和______。