一. 单项选择题
1. 若str1存储为字符序列SCUT$; 执行下列语句后str2存储的字符序列是_____。PUSH(STACK, '$');
i=0;while ( *(str1+i)!='$' )
{PUSH(STACK, *(str1+i)); i++;}
i=0;*(str2+i)= POP(STACK);
while (*(str2+i)!= '$' )
{i++;*(str2+i)=POP(STACK); *(str2+i)=POP(STACK);}
(A) SCUT;(B) TUCS$;(C) TC$;(D) TC.
2. int fun(struct node **f,struct node **r) 实现的功能是_____。
struct node
{int data;
struct node*link;};
intfun(struct node **f,struct node **r)
{struct node *q;int item;
if(*f==NULL)printf(“empty”);
else { if(*f==*r){item=(*f)->data;free(*f);
*f=NULL;*r=NULL; }
else{q=*f; item=q->data;
*f=(*f)->link; (*r)->link=*f;
free(q); }
return item;
}
return NULL;}
(A) 普通队列中插入结点;(B) 普通队列中删除结点;
(C) 环形队列中删除结点;(D) 环形队列中插入结点.
3.设单向链表中结点的结构为struct node { int data; int link; }; struct node *p, *s, *q. 已知指针p->link =s; s->link=q; 若在*p与*q之间删除结点*s,则应执行操作_____。
(A) q->link=q;(B) q->link=p;(C)p->link=q;(D) p->link=p.
4. 由二叉树的根开始,令a=3, 8, 7, 9, 1, 2, 4,依次调用函数*create,执行下列语句后建立的二叉树是Fig.1中的_____。 (A) (B) struct tree *create(struct tree *root, int a)
{ if (root==NULL)
{ root=(struct tree *)malloc(sizeof(struct tree));
root->data=a;
root->left=NULL;root->right=NULL;
return(root);}
else {if(a<root->data) (D)
(C)
root->left=create(root->left, a);
elseroot->right=create(root->right, a);
《数据结构》试卷A 第 1 页 共 5 页
www.99jianzhu.com/包含内容:建筑图纸、PDF/word/ppt 流程,表格,案例,最新,免费下载,施工方案、工程书籍、建筑论文、合同表格、标准规范、CAD图纸等内容。