文档介绍:《数据结构》栈和队列测试题
一、填空题(12*1=12分)
,是固定的,插入和删除只能在进行;
: ;队列的工作原理:。
:可以在插入,在进行删除;
《数据结构》栈和队列测试题
一、填空题(12*1=12分)
,是固定的,插入和删除只能在进行;
: ;队列的工作原理:。
:可以在插入,在进行删除;
:链表;
,初始状态均为空。首先依次将A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为:;
:队满的条件是:
: 顺序队列判断队满的条件:
(2*5=10分)
,属于非线性结构的是( )
( )
( )
,采用不同的算法,则它们的时间复杂度是相同的
( )
;;
,因此又称为双重链表
( )
,也可以是非线性结构
三、程序填空:(10*2=20分)
,请将元素d入栈的代码补充完整
/*定义栈的数据类型*/
typedef struct{
int *base;//栈底指针
int *top;//栈顶指针
int stack_size;//栈的大小
}SqStack;
/*功能:将元素d入栈返回值:1:成功 0:失败*/
int push(,int d){
//判断栈是否已满,如果满,入栈失败
if(>=s->stack_size) {
printf("栈已满,入栈失败!\n");
return 0;
}
//把d放入top指针所指的位置
*()=d;
//top指针上移(++)
;
return ;
}
,请将下列代码补充完整:
typedef struct{
int queue[MAX_QUEUE_SIZE];
int front;//队头
int rear;//队尾
}SqQueue;
/*功能:出队(把队首元素