数据结构习题课第三章

习题~数据结构第三章

选择题

1.表达式a*(b+c)-d的后缀表达式是。

A.abcdd+-B.abc+*d-

C.abc*+d-D.-+*abcd答:

2.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是。

A.edcbaB.decbaC.dceabD.abcde

答:C[栈的特点是先进后出,所以在C中eab是不可能产生的。]

.若已知一个栈的入栈序列是1,2,,...,n,其输出序列为p1,p2,p,...,pn,若p1=n,则pi为。

A.iB.n=iC.n-i+1D.不确定

答:C[当p1=n,即n是最先出栈的,根据栈的原理,n必定是最后入栈的,那么输入顺序必定是1,2,,...,n,则出栈的序列是n,...,,2,1,所以答案是C。]

4.栈结构通常采用的两种存储结构是。

A.线性存储结构和链表存储结构B.散列方式和索引方式

C.链表存储结构和数组D.线性存储结构和非线性存储结构

答:A

5.判定一个栈ST(最多元素为m0)为空的条件是。

A.ST-top!=0B.ST-top==0

C.ST-top!=m0D.ST-top==m0

答:B

6.判定一个栈ST(最多元素为m0)为栈满的条件是。

A.ST-top!=0B.ST-top==0

C.ST-top!=m0-1D.ST-top==m0-1

答:D

7.栈的特点是①,队列的特点是②。

A.先进先出B.先进后出

答:①B②A

8.一个队列的入列序列是1,2,,4,则队列的输出序列是。

A.4,,2,1B.1,2,,4

C.1,4,,2D.,2,4,1

答:B

9.判定一个队列QU(最多元素为m0)为空的条件是。

A.QU-rear-QU-front==m0B.QU-rear-QU-front-1==m0

C.QU-front==QU-rearD.QU-front==QU-rear+1

答:C

10.判定一个队列QU(最多元素为m0)为满队列的条件是。

A.QU-rear-QU-front==m0B.QU-rear-QU-front-1==m0

C.QU-front==QU-rearD.QU-front=QU-rear+1

答:A

11.判定一个循环队列QU(最多元素为m0)为空的条件是。

A.QU-front==QU-rearB.QU-front!=QU-rear

C.QU-front=(QU-rear+1)%m0D.QU-front!=(QU-rear+1)%m0

答:A

12.判定一个循环队列QU(最多元素为m0)为满队列的条件是。

A.QU-front==QU-rearB.QU-front!=QU-rear

C.QU-front==(QU-rear+1)%m0D.QU-front!=(QU-rear+1)%m0

答:C

1.循环队列用数组A[0,m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是。

A.(rear-front+m)%mB.read-front+1

C.read-front-1D.read-front

答:A

14.栈和队列的共同点是。

A.都是先进后出B.都是先进先出

C.只允许在端点处插入和删除元素D.没有共同点

答:C

填空题

1.线性表、栈和队列都是①结构,可以在线性表的②位置插入和删除元素;对于栈只能在③插入和删除元素;对于队列只能在④插入元素和⑤删除元素。

答:①线性②任何③栈顶④队尾⑤队首

4.向栈中压入元素的操作是。

答:先移动栈顶指针,后存入元素

5.对栈进行退栈时的操作是。

答:先取出元素,后移动栈顶指针

6.在一个循环队列中,队首指针指向队首元素的。

答:前一个位置

7.从循环队列中删除一个元素时,其操作是。

答:先移动队首元素,后取出元素

8.在具有n个单元的循环队列中,队满时共有个元素。

答:n-1

9.一个栈的输入序列是,则栈的输出序列是。

答:不可能的

10.一个栈的输入序列是,则栈的输出序列是。

答:可能的

9.在栈顶指针为HS的链栈中,判定栈空的条件是。

答:HS==NULL

10.在栈顶指针为HS的链栈中,计算该链栈中结点个数的函数是。

答:intcount(HS)

node*HS;

{

node*p;

intn=0;

p=HS;

while(p!=NULL)

{

n++;

p=p-next;

}

return(n);

}

11.在HQ的链队中,判定只有一个结点的条件是。

答:HQ-front==HQ-rear

12.在HQ的链队中,计算该链队中结点个数的函数是。

答:intcount(HQ)

structlinkqueue*HQ;

{

structlinkqueue*p;

intn;

p=HQ-first;

if(p==NULL)return(0);

n=1;

while(p!=HQ-rear)

{

n++;

p=p-next;

}

return(n);

}

编辑:孙玉璐







































北京白癜风治疗哪家医院最好
北京专科白癜风医院



转载请注明:http://www.92nongye.com/zyjs/204613011.html