若需将一个栈S中的元素逆置,则以下处理方式中正确的是______。A.将栈S中元素依次出栈并入栈T,然后
若需将一个栈S中的元素逆置,则以下处理方式中正确的是______。
A.将栈S中元素依次出栈并入栈T,然后栈T中元素依次出栈并进入栈S
B.将栈S中元素依次出栈并入队,然后使该队列元素依次出队并进入栈S
C.直接交换栈顶元素和栈底元素
D.直接交换栈顶指针和栈底指针
若需将一个栈S中的元素逆置,则以下处理方式中正确的是______。
A.将栈S中元素依次出栈并入栈T,然后栈T中元素依次出栈并进入栈S
B.将栈S中元素依次出栈并入队,然后使该队列元素依次出队并进入栈S
C.直接交换栈顶元素和栈底元素
D.直接交换栈顶指针和栈底指针
A.实现函数或过程的递归调用及返回处理时
B. 将一个元素序列进行逆置
C. 链表结点的申请和释放
D. 可执行程序的装入和卸载
● 栈是一种按“后进先出”原则进行插入和删除操作的数据结构,因此, (9) 必须用栈。
(9)
A. 函数或过程进行递归调用及返回处理
B. 将一个元素序列进行逆置
C. 链表结点的申请和释放
D.可执行程序的装入和卸载
栈是一种按“后进先出”原则进行插入和删除操作的数据结构,因此,(60)必须用栈。
A.实现函数或过程的递归调用及返回处理时
B.将一个元素序列进行逆置
C.链表结点的申请和释放
D.可执行程序的装入和卸载
试题一(共 15分)
阅读以下说明和算法,完善算法并回答问题,将解答写在答题纸的对应栏内。
[说明]
假设以二维数组G[1..m,1..n]表示一幅图像各像素的颜色,则G[i,j]表示区域中点(i,j)处的颜色,颜色值为0到k 的整数。下面的算法将指定点(i0,j0)所在的同色邻接区域的颜色置换为给定的颜色值。约定所有与点(i0,j0)同的上、下、左、右可连通的点组成同色邻接区域。
例如,一幅8×9 像素的图像如图1-1 所示。设用户指定点(3,5),其颜色值为0,此时其上方(2,5)、下方 (4,5)、右方(3,6)邻接点的颜色值都为0,因此这些点属于点(3,5)所在的同色邻接区域,再从上、下、左、右四个方向进行扩展,可得出该同色邻接区域的其他点(见图1-1 中的阴影部分)。将上述同色区域的颜色替换为颜色值7所得的新图像如图1-2 所示。
[算法]
输入:矩阵 G,点的坐标(i0,j0),新颜色值newcolor。
输出:点(i0,j0)所在同色邻接区域的颜色置换为newcolor之后的矩阵G。
算法步骤(为规范算法,规定该算法只在第七步后结束):
第一步:若点(i0,j0)的颜色值与新颜色值newcolor相同,则(1) ;
第二步:点(i0,j0)的颜色值→oldcolor;创建栈S,并将点坐标(i0,j0)入栈;
第三步:若 (2) ,则转第七步;
第四步:栈顶元素出栈→(x,y),并(3) ;
第五步:1) 若点(x,y-1)在图像中且G[x,y-1]等于oldcolor,则(x,y-1)入栈S;
2) 若点(x,y+1)在图像中且G[x,y+1]等于oldcolor,则(x,y+1)入栈S;
3) 若点(x-1,y)在图像中且G[x-1,y]等于oldcolor,则(x-1,y)入栈S;
4) 若点(x+1,y)在图像中且G[x+1,y]等于oldcolor,则(x+1,y)入栈S;
第六步:转 (4) ;
第七步:算法结束。
[问题]
是否可以将算法中的栈换成队列?回答: (5) 。
阅读以下说明和算法,完善算法并回答问题,将解答写在对应栏内。
[说明]
假设以二维数组G[1..m,1..n]表示一幅图像各像素的颜色,则G[i,j]表示区域中点(i,j]处的颜色,颜色值为0到k的整数。
下面的算法将指定点(i0,j0)所在的同色邻接区域的颜色置换为给定的颜色值。约定所有与点(i0,j0)同色的上、下、左、右可连通的点组成同色邻接区域。
例如,一幅8×9像素的图像如图1-1所示。设用户指定点(3,5),其颜色值为0,此时其上方(2,5)、下方(4,5)、右方(3,6)邻接点的颜色值都为0,因此这些点属于点(3,5)所在的同色邻接区域,再从上、下、左、右四个方向进行扩展,可得出该同色邻接区域的其他点(见图1-1中的阴影部分)。将上述同色区域的颜色替换为颜色值7所得的新图像如图1-2所示。
[算法]
输入:矩阵G,点的坐标(i0,j0),新颜色值newcolor。
输出:点(i0,j0)所在同色邻接区域的颜色置换为newcolor之后的矩阵G。
算法步骤(为规范算法,规定该算法只在第七步后结束):
第一步:若点(i0,j0)的颜色值与新颜色值newcolor相同,则(1);
第二步:点(i0,j0)的颜色值→oldcolor;创建栈S,并将点坐标(i0,j0)入栈;
第三步:若(2),则转第七步;
第四步:栈顶元素出栈→(x,y),并(3);
第五步:
1) 若点(x,y-1)在图像中且G[x,y-1]等于oldcolor,则(x,y-1)入栈S;
2) 若点(x,y+1)在图像中且G[x,y+1]等于oldcolor,则(x,y+1)入栈S;
3) 若点(x-1,y)在图像中且G[x-1,y]等于oldcolor,则(x-1,y)入栈S;
4) 若点(x+1,y)在图像中且G[x+1,y)等于oldcolor,则(x+1,y)入栈S:
第六步:转(4);
第七步:算法结束。
[问题]
是否可以将算法中的栈换成队列?回答:(5)。
A.a、b、c、d、e
B.-e、d、c、b、a
C.c、d、b、a、e
D.e、a、b、d、c
(26)
A. a、b、c、d、e
B. e、d、c、b、a
C. c、d、b、a、e
D. e、a、b、d、c
(27)
A. 2
B. 3
C. 4
D. 5
(58)
A. a、b、c、d、e
B. e、d、c、b、a
C. c、d、b、a、e
D. e、a、b、d、c
(59)
A. 2
B. 3
C. 4
D. 5
A、n个元素进入一个栈后,它们的出栈顺序一定与进栈顺序相反
B、若一个栈的存储空间为S[n],则对栈的进栈和出栈操作最多只能执行n次
C、栈是一种对进栈、出栈操作的次序做了限制的线性表
D、空栈没有栈顶指针
A.6
B.4
C.3
D.2