(习题)数据结构第三章 栈和队列 下载本文

第三章 栈和队列

3.1 简述栈和线性表的差别。

3.2 简述队列和栈这两种数据类型的相同点和差异处。

3.3 写出下列程序段的输出结果(栈的元素类型SelemType为char)。 Void main( ) { Stack S; char x,y; InitStack(S); X=’c’;y=’k’;

Push(S,x); Push(S,’a’); Push(S,y); Pop(S,x); Push(S,’t’); Push(S,x); Pop(S,x); Push(S,’s’);

While (!StackEmpty(S)) {Pop(S,y); printf(y);} Printf(x); }

3.4写出下列程序段的输出结果(队列中的元素类型QElemType为char)。

Void main( )

{ Queue Q; InitQueue(Q); char x=’e’, y=’c’;

EnQueue(Q,’h’); EnQueue(Q,’r’); EnQueue(Q,y); DeQueue(Q,x); EnQueue(Q,x);

DeQueue(Q,x); EnQueue(Q,’a’); While (!QueueEmpty(Q)) { DeQueue(Q,y); printf(y); }

printf(x);

}

3.5 假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点,试编写相应的队列初始化、入队列和出队列的算法。