一、判断题

1.若一个栈的输入序列为1,2,3,……,N,输出序列的第一个元素为i,则第j个输出的元素是j-i-1    (×)解析:应该是不确定的,不能保证数字出栈后不会再入栈

2.所谓“循环队列”是指用单向循环链表或者循环数组表示的队列    (×)解析:循环队列指的是后者,用数组表示的队列,利用求余数运算使得头尾相接

3.在对不带头结点的链队列做出队操作时,不会改变头指针的值    (×)解析:会改变头指针的值,变成相连指针的值

4.不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”的情况    (√)解析:因为存储空间是有限的

5.队列和栈都是运算受限的线性表,只允许在表的两端进行运算    (×)解析:前半句对,后半句中栈只能在一段进行操作,只有队列才是在两端进行操作

6.栈和队列的存储方式,既可以是顺序方式,也可以是链式方式    (√)

7.循环队列也存在着空间溢出问题    (√)解析:循环队列的存储空间也是有限的

8.循环队列执行出队操作时会引起大量元素的移动    (×)

9.栈是插入和删除只能在一端进行的线性表;队列是插入在一端进行,删除在另一端进行的线性表    (√)

10.在n个元素连续进栈以后,他们的出栈顺序和进栈顺序一定正好相反    (√)

11.环形队列中有多少个元素可以根据队首指针和队尾指针的值来计算    (√)

12.栈和队列的插入和删除操作特殊,所以,栈和队列是非线性结构    (×)

13.序列{1,2,3,4,5}依次入栈,则不可能得到{3,4,1,2,5}的出栈序列    (√)

14.队列中允许插入的一端叫队头,允许删除的一端叫队尾     (×)解析:正好相反,允许插入的一端叫队尾,允许删除的一端叫队头,前头后尾

二、单选题

2-1.若用大小为6的数组来实现循环队列,且当前front和rear的值分别为0和4。当从队列中删除两个元素,再加入两个两个元素后,front和rear的值分别为多少:

A.2和0

B.2和2

C.2和4

D.2和6

解析:初始化创建空队列时,令front=rear=0,每当插入新的队列尾元素时,rear增1,每当删除一个队列首元素时,front增1。则删除一个,front++,增加一个rear++

2-2.如果循环队列用大小为m的数组表示,且用队头指针front和队列元素个数size代替一般循环队列中的front和rear指针来表示队列的范围,那么这样的循环队列可以容纳的元素个数最多为:

A.m-1

B.m

C.m+1

D.不能确定

2-3.以下数据结构中,()是非线性数据结构。

A.树

B.字符串

C.队列

D.栈

2-4.设栈S和队列Q的初始状态均为空,元素{1,2,3,4,5,6,7}依次进入栈S。若每个元素出栈后立即进入队列Q,且七个元素出队的顺序是{2,5,6,4,7,3,1},则栈S的容量至少是:

A.1

B.2

C.3

D.4

2-5.线性表、堆栈、队列的主要区别是什么?

A.线性表用指针,堆栈和队列用数组

B.堆栈和队列都是插入、删除收到约束的线性表

C.线性表和队列都可以用循环链表实现,但堆栈不能

D.堆栈和队列都不是线性结构,而线性表是

解析:A中它们都可以用指针和数组,C中线性表不可以用循环列表实现,D中线性表是线性结构

PTA 第三章 栈与队列的更多相关文章

  1. C语言数据结构——第三章 栈和队列

    三.栈和队列 栈和队列是两种重要的线性结构.从数据结构的角度来看,栈和队列也是线性表,它的特殊性在于栈和队列的基本操作是线性表操作的子集,它们的操作相对于线性表来说是受到限制的,因此,可以称其为限定性 ...

  2. 数据结构(C语言版)---第三章栈和队列 3.4.2 队列的链式表示和实现(循环队列)

    这个是循环队列的实现,至于串及数组这两章,等有空再看,下面将学习树. 源码如下: #include <stdio.h> #include <stdlib.h> #define ...

  3. 数据结构(c语言版,严蔚敏)第3章栈和队列

    第3章栈和队列

  4. 数据结构(C语言版)-第3章 栈和队列

    3.1 栈和队列的定义和特点3.2 案例引入3.3 栈的表示和操作的实现3.4 栈与递归3.5 队列的的表示和操作的实现3.6 案例分析与实现 基本操作有入栈.出栈.读栈顶元素值.建栈.判断栈满.栈空 ...

  5. 《程序员代码面试指南》第一章 栈和队列 构造数组的MaxTree

    题目 给出一个无重复元素的数组,构造此数组的MaxTree, java代码 /** * @Description: 构造数组的MaxTree * @Author: lizhouwei * @Creat ...

  6. 《程序员代码面试指南》第一章 栈和队列 设计一个有getMin功能的栈

    题目 实现一个特殊的栈,在实现栈的基本功能上,再实现返回栈中最小的元素的操作 要求 1. pop.push.getMin操作时间复杂度都是O(1) 2. 设计的栈类型可以使用现成的栈结构 java代码 ...

  7. 第三章· Redis消息队列

    一.生产消费模型 二.Redis发布消息的两种模式

  8. 第四章 栈与队列(d)队列接口与实现

  9. 第四章 栈与队列(c5)栈应用:逆波兰表达式

随机推荐

  1. 关于java的访问修饰符权限

    作用域    public protected default private  同一个类   yes     yes      yes      yes 同一个包   yes     yes    ...

  2. ECMAScript 2017(ES8)新特性简介

    目录 简介 Async函数 共享内存和原子操作 Object的新方法 String的新方法 逗号可以添加到函数的参数列表后面了 简介 ES8是ECMA协会在2017年6月发行的一个版本,因为是ECMA ...

  3. Line-line Intersection Gym - 102220C

    题目链接:https://vjudge.net/problem/Gym-102220C 题意:求n 条直线两两相交有几对(也可以重合). 思路:用map和pair存所有直线的斜率和与X轴的交点,假设与 ...

  4. ubuntu修改默认启动内核

    一.序言 新换的笔记本由于太新的主板芯片,驱动还没有完善.每次升级系统内核都要小心谨慎.经常发生部分硬件驱动失败的事情.系统Ubuntu 20.04.2 LTS x86_64 ,我现在使用的两个版本的 ...

  5. 微信小程序--简约风博客小程序(基于云开发 - 全开源)

    微信小程序--简约风博客小程序(基于云开发 - 全开源) 项目启动纯属突发奇想,想看看博客小程序,例如wehalo博客小程序,但是感觉自建平台还要浪费自己的服务器算力,还没有访问量,省省吧. 本着白嫖 ...

  6. Logback简介及配置文件logback.xml详解

    logback简介及配置文件说明 @author:wangyq @date:2021年3月31日 logback简介 ​ Logback是由log4j创始人设计的另一个开源日志组件,官方网站: htt ...

  7. [Fundamental of Power Electronics]-PART I-6.变换器电路-6.4 变换器评估与设计/6.5 重点与小结

    6.4 变换器评估与设计 没有完美适用于所有可能应用场合的统一变换器.对于给定的应用和规格,应该进行折中设计来选择变换器的拓扑.应该考虑几种符合规格的拓扑,对于每种拓扑方法,对比较重要的量进行计算,比 ...

  8. AI数学基础之:确定图灵机和非确定图灵机

    目录 简介 图灵机 图灵机的缺点 等效图灵机 确定图灵机 非确定图灵机 简介 图灵机是由艾伦·麦席森·图灵在1936年描述的一种抽象机器,它是人们使用纸笔进行数学运算的过程的抽象,它肯定了计算机实现的 ...

  9. 网络编程Netty入门:Netty简介及其特性

    目录 Netty的简介 Netty的特性 Netty的整体结构 Netty的核心组件 Netty的线程模型 结束语 Netty的简介 Netty是一个java开源框架,是基于NIO的高性能.高可扩展性 ...

  10. C语言小知识(基于Linux)——个人笔记,不定时更新

    一.switch case语法,在case中定义变量时,需要在case的有效范围内使用花括号包起来,否则会编译报错: switch (name){ case "zhangSan": ...