搭建网站php源码,营销推广网站建设,网站建设的软文素材,视频素材库在哪里找目录 题型一#xff08;栈与队列的基本概念#xff09;题型二#xff08;栈与队列的综合#xff09;题型三#xff08;循环队列的判空与判满#xff09;题型四#xff08;循环链表表示队列#xff09;题型五#xff08;循环队列的存储#xff09;题型六#xff08;循… 目录 题型一栈与队列的基本概念题型二栈与队列的综合题型三循环队列的判空与判满题型四循环链表表示队列题型五循环队列的存储题型六循环队列的入队和出队 题型一栈与队列的基本概念 1、栈和队列都是。 A、顺序存储的线性结构 B、链式存储的非线性结构 C、限制存取点的线性结构 D、限制存取点的非线性结构 解析C 栈是一种只允许在一端进行插入或删除操作的线性表它是一种特殊的线性表它与队列具有相同的逻辑结构都属于线性结构区别在于对其中元素的处理不同栈遵循的原则是先进后出FILO即后进的元素先被取出来它是被限制存取点的线性结构。
队列与栈一样也是一种特殊的线性表其操作受限它与栈具有相同的逻辑结构都属于线性结构区别在于其中元素的处理不同队列只允许在一端进行插入且只允许在另一端进行删除队列遵循的原则是先进先出FIFO即先入队列的元素最先离开它也是被限制存取点的线性结构与日常生活中的排队是一样的。 2、栈和队列的共同点是。 A、都是先进先出 B、都是先进后出 C、只允许在端点处插入和删除元素 D、没有共同点 解析C 栈和队列的共同点是都只允许在一端进行插入或删除操作的特殊线性表。
题型二栈与队列的综合 1、设栈S和队列Q的初始状态为空元素abcdef依次通过栈S一个元素出栈后即进队列Q若6个元素出队的序列是acfedb则栈S的容量至少应该是。 A、3 B、4 C、5 D、6 解析B 栈是先进后出队列是先进先出。 若容量为3若要满足条件首先元素a通过栈S后然后进入队列Q 得到出队为{a}b、c通过栈S后c首先出栈通过队列得到出队为 {a、c}此时若要第三个出队元素为f则栈中由下至上应该为{b、d、e、f}所以栈S的容量至少应该是4。
题型三循环队列的判空与判满 1、假设循环队列的最大容量为m队头指针是front队尾指针是rear则队列为满的条件是。 A、(rear1)%m front B、rear front C、rear1 front D、(rear-1)%m front 解析A 设MaxSize为循环队列的最大容量(Q.rear1)%MaxSize Q.front即队尾指针进1与MaxSize取余的值等于头指针时此时队列已满如下 当前队头指针Q.front1Q.rear0即(Q.rear1)%MaxSize(01)%71%71等于Q.front1所以此时队列为满队此时队头指针在队尾指针的下一个位置。
题型四循环链表表示队列 1、用循环单链表来表示队列设队列的长度为n若只设尾指针则出队和入队的时间复杂度分别为。 A、O(1),O(1) B、O(1),O(n) C、O(n),O(1) D、O(n),O(n) 解析A 循环单链表表示队列相当于一个环由于只设尾指针出队时直接出队出队的时间复杂度为O(1)因为队头队尾相连尾指针的下一个结点即是队头则入队的时间复杂度也为O(1)。 2、用循环单链表来表示队列设队列的长度为n若只设头指针则出队和入队的时间复杂度分别为。 A、O(1),O(1) B、O(n),O(n) C、O(1),O(n) D、O(n),O(1) 解析D 循环单链表表示队列相当于一个环由于只设头指针出队时指针需要从队头到队尾经过n个结点到达队尾所以出队的时间复杂度为O(n)入队时由于有头指针可直接入队出队的时间复杂度为O(1)。
题型五循环队列的存储 1、已知存储循环队列的数组长度为21若当前队列的头指针和尾指针的值分别为9和3则该队列的当前长度为。 A、6 B、12 C、15 D、18 解析C 通过队尾指针减队头指针加上MaxSize的值与MaxSize取余可得到数据元素个数即(Q.rear-Q.frontMaxSize)%MaxSize代码如下
//循环队列的数据元素个数
bool NumQueue(SqQueue Q){if(Q.frontQ.rear) //若队列为空则报错 return false;int num(Q.rear-Q.frontMaxSize)%MaxSize;printf(当前循环队列的数据元素个数为%d\n,num);
}题中Q.front9Q.rear3MaxSize21所以(Q.rear-Q.frontMaxSize)%MaxSize(3-921)%2115%2115。
题型六循环队列的入队和出队 1、循环队列存储在数组A[0,…,m]中用front和rear分别表示队头和队尾则入队时的操作为。 A、rearrear1 B、rear(rear1) mod (m-1) C、rear(rear1) mod m D、rear(rear1) mod (m1) 解析D 入队操作针对Q.rear入队的代码通过取余运算实现队尾指针加1即Q.rear(Q.rear1)%MaxSize不管前面(Q.rear1)为多少它与MaxSize例如MaxSize5取余的结果只可能是0、1、2、3、4也就是队尾指针Q.rear的每次移动加1。 所以题中入队时的操作为rear(rear1) mod (m1)。 1、 A、 B、 C、 D、 解析 1、 A、 B、 C、 D、 解析 1、 A、 B、 C、 D、 解析 1、 A、 B、 C、 D、 解析