数据结构
一、选择题
1-5 CCCCB 6-10 DCDCB 11-15 CCBCA
16-20 BBBCC 21-25 CCBAD
二、填空题
1、两端受限
2、栈顶
3、p->next=HS,HS=p HS=HS->next
4、线性任何栈顶对头队尾
5、栈顶栈底
6、先进后出先进先出
7、top==1
8、5
9、O(1)
10、ab+c*ef*h-qr+/+3+
11、-1 3 4 X * + 2 Y * 3 / -
三、判断题
1-5 TTTFF 6-10 TTTTT 11 T
四、简答题
1、相同点是都属于线性结构,都是两端受限的线性表,不同点是栈只能在栈顶进行插入和删除操作,又称为先进后出表,而队列是在队头删除,队尾插入的线性结构又称先进先出表。
2、真溢出是指存储空间已满的情况下继续进行插入操作,假溢出指有存储空间而不能进行插入操作。
采用循环队列结构就是为了避免假溢出减少浪费空间。
3、stack
4、(1)栈中的数据元素逆置(2)如果栈中存在元素e,将其从栈中清除
五、程序算法题
1、
typedef int Datatype;
typedef struct queuenode
{
Datatype data;
struct queuenode *next;
}QueueNode; //以上是结点类型的定义
typedef struct
{
queuenode rear;
}LinkQueue; //只设一个指向队尾元素的指针
void InitQueue( LinkQueue &Q)
{。