- 36
- 0
- 约4.39千字
- 约 4页
- 2021-04-21 发布于山东
- 举报
第3章 栈和队列
习题
1.
( 1)若 元素 1, 2, 3,4, 5 依次 , 出 次序不可能出 在(
A.5,4,3,2,1 B .2,1,5, 4,3 C.4,3,1,2,5
)种情况。
D . 2, 3,5, 4,
1
2)若已知一个 的入 序列是 1,2,3,?, n,其 出序列 p1,p2,p3,?, pn,若 p1=n, pi ( )。
A . i B .n-i C . n-i+1 D .不确定
( 3)数 Q[n]用来表示一个循 列,f 当前 列 元素的前一位置,r
尾元素的位置,假定 列中元素的个数小于n, 算 列中元素个数的公式 ( )。
A. r-f B .(n+f-r)%n C . n+r-f D .(n+r -f)%n
( 4) 式 点 : (data,link)
的 保存到 x 中 , 行操作(
A. x=top-data;top=top-link
C. x=top;top=top-link ;
)。
, top ;
指向 . 若想摘除 点,并将 除 点
B . top=top-link;x=top-link ;
D . x=top-link ;
( 5) 有一个 算法如下
int fact(int n) { 性表的 式存 构
( 11)用 接方式存 的 列,在 行 除运算 ( )。
A. 修改 指 B. 修改尾指
C. 、尾指 都要修改 D. 、尾 指 可能都 要修改
( 12)循 列存 在数 A[0..m] 中, 入 的操作 ( )。
A. rear=rear+1 B. rear=(rear+1)%(m-1)
C. rear=(rear+1)%m D. rear=(rear+1)%(m+1)
D.
( 13)最大容量 n 的循 列, 尾指 是 rear , 是 front , 空的条件是 (
A. (rear+1)%n==front B. rear==front
C. rear+1==front D. (rear-l)%n==front
( 14) 和 列的共同点是( )。
A. 都是先 先出 B. 都是先 后出
C. 只允 在端点 插入和 除元素 D. 没有共同点
( 15)一个 算法必 包括( )。
A. 部分 B. 止条件和 部分
C. 迭代部分 D. 止条件和迭代部分
)。
( 2)回文是指正 反 均相同的字符序列, 如“abba ”和“ abdba”均是回文, 但“good”
不是回文。 写一个算法判定 定的字符向量是否 回文。 ( 提示:将一半字符入 )
根据提示,算法可设计为:
IOIIOIOO
B. IOOIOIIO
C. IIIOIOIO
D. IIIOOIOO
②通 ①的分析, 写出一个算法, 判定所 的操作序列是否合法。 若合法,返回 true ,
否则返回 false (假定被判定的操作序列已存入一维数组中) 。
A 和 D 是合法序列, B 和 C 是非法序列。
②设被判定的操作序列已存入一维数组A 中。
int
Judge( char A[])
M-1] 实现循环队列, 其中 M是队列长度。 设队头指针 front 和队尾指针 rear
约定 front 指向队头元素的前一位置, rear 指向队尾元素。定义 front=rear 时为队空,
(rear+1)%m=front 为队满。约定队头端入队向下标小的方向发展,队尾端入队向下标大的
,
方向发展。
( 1) #define M 队列可能达到的最大长度
typedef struct
{ elemtp data[M];
int front,rear;
} cycqueue;
2) elemtp delqueue ( cycqueue Q)
100,1..100] ,设每个数据元素占 2 个存储单元, 基地址为 10,则 LOC[5,5]=( )。
A. 808 B . 818 C . 1010 D .1020
( 7)设有数组 A[i,j] ,数组的每个元素长度为 3 字节, i 的值为 1 到 8, j 的值为 1
到 10,数组从内存首地址 BA 开始顺序存放, 当用以列为主存放时, 元素 A[5,8] 的存储首地址为( )。
A. BA+141 B . BA+180 C . BA+222 D . BA+225
( 8)设有一个 10 阶的对称矩阵 A,采用压缩存储方式,以行序为主存储, a11 为第一元
素,其存储地址为 1,每个元素占一个地址空间,则 a85 的地址为( )。
A.13 B .33 C .18 D .40
( 9)若对 n 阶对称矩
原创力文档

文档评论(0)