数据结构c语言版试题大全(含答案)

发布时间 : 星期一 文章数据结构c语言版试题大全(含答案)更新完毕开始阅读

是______。

13、设有数组A[0..m]作为环形队列的存储空间,front为队头指针,rear为队尾指针,假设队列车不空,则元素出队并保存到x中的操作是______。

14、若用带头结点的单链表来表示链队,则队列空的标志是______。

15、若用不带头结点的单链表来表示链队,则创建一个空队列所要执行的操作是______。 16、若用带头结点的单链表来表示链队,则创建一个空队列所要执行的操作是______。 17、己知链队的头、尾指针分别是f和r,则将值x入队的操作序列是_____。

18、在顺序队列实现的时候,通常将数组看成是一个首尾相连的环,这样做的目的是为避免产生______现象. 19、环形队列用数组A[0..m-1]存放其元素值,己知其头尾指针分别是front和rear,则当前队列中的元素个数是______.

20、队列的插入操作在____________进行,删除操作在____________进行。 21、栈又称为____________表,队列又称为____________表。

22、向一个顺序栈插入一个元素时,首先使____________后移一个位置,然后把待插入元素____________到这个位置上。

23、从一个顺序栈删除元素时,首先取出____________的值,然后再使栈顶指针____________。 24、在一个不设队列长度变量的顺序队列Q中,判断队空的条件为____________,判断队满的条件为____________。

25、在一个链队中,若队首指针与队尾指针的值相同,则表示该队为____________或该队____________。 26、向一个链栈插入一个新结点时,首先把栈顶指针的值赋给____________,然后把新结点的存储位置赋给____________。

27、从一个链栈中删除一个结点时,需要把栈顶结点____________的值赋给____________。 28、当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件为____________。 29、向一个栈顶指针为HS的链栈中插入一个新结点*p时,应执行____________和____________操作。 30、中缀表达式3*(x+2)-5所对应的后缀表达式为____________。

33、设元素a,b,c,d依次进S栈,若要在输出端得到序列cbda,则应进行的操作序列为push(S,a),push(S,b),push(S,c),____________,____________,____________,pop(S),pop(S)。

数据结构复习题答案:串 填空题

1、顺序存储方式和链式存储方式

2、两个串的长度相等且对应位置的字符相同 3、零个字符的串|零

4、由一个或多个空格字符组成的串|其包含的空格个数 5、14

6、'GOOD BYE!' 7、先进先出 8、存储结构 9、链队 10、队尾

11、解决了假溢出问题

12、rear=(rear+1)%(m++1);A[rear]=x; 13、front=(front+1)%(m+1);x=A[front]; 14、头结点的指针域为空

15、将单链表的首结点指针赋空值

- 49 -

16、将单链表头结点的指针域赋空值

17、p=(QNode *)malloc(sizeof(QNode));p->data=x;p->next=r->next;r->next=p;r=p; 18、假溢出

19、(rear-front+m)%m 20、队尾| 队首

21、后进行出|先进先出 22、栈顶指针|写入 23、栈顶元素|减1

24、Q.front=Q.rear|(Q.rear+1)%MaxSize==Q.front 25、空|只含有一个结点

26、新结点的指针域|栈顶指针 27、指针域 | 栈顶指针 28、top==0

29、P->next=HS|HS=p 30、3x2+*5-

33、pop(S)|pop(S)| push(S,d)

数据结构复习题:串 问答题

1、设栈s和队列q的初始状态都为空,元素a,b,c,d,e和f依次通过栈s,一个元素出栈后即进入队列q,若6个元素出队的序列是bdcfea,则栈s的容量至少应该存多少个元素?

数据结构复习题答案:串 问答题

1、答:栈s的容量至少应该存3个元素。

- 50 -

联系合同范文客服:xxxxx#qq.com(#替换为@)