堆栈最常用于(8)。
A.实现数据循环移位
B.实现程序转移
C.保护被中断程序的现场
D.数据的输入输出缓冲存储器
A.实现数据循环移位
B.实现程序转移
C.保护被中断程序的现场
D.数据的输入输出缓冲存储器
A.pushMatrix()将当前的视图矩阵压入堆栈,保存坐标系。
B.popMatrix()将视图矩阵弹出堆栈,恢复原先的坐标系。
C.translate(x, y)将原点由(0,0)移动到(x,y)处。
D.rotate(angle)绕原点顺时针旋转。
A.队列的存储采用循环队列结构,目的是提高存储空间的重复利用,减少数据的搬移。
B.在队列和堆栈结构中,不能在中间插入和删除元素,只能在一端进行。
C.队列是一种先进后出的线性表。
D.堆栈是一种先进先出的线性表。
E.队列和堆栈都属于线性结构,是操作受限的线性表。
阅读下面实现堆栈类并发控制的部分代码 public class DataStack } private int idx=0; private int[] data=new int[8]; public void push(int i) { ______ { data[idx]=I: idx++; } } … } 程序中下画线处应填入的正确选项是
A.synchronized
B.synchronized(this)
C.synchronized()
D.synchronized(idx)
A.synchronized
B.synchronized(this)
C.synchronized()
D.synchronized(idx)
A.SP内装的是堆栈栈顶单元的内容
B.在中断服务程序中没有PUSH和POP指令,说明此次中断操作与堆栈无关
C.在单片机中配合实现“程序存储自动执行”的寄存器是累加器
D.两数相加后,若A中数据为66H,则PSW中最低位的状态为0
阅读以下应用说明、图和Java代码,根据要求回答问题1至问题5。
【说明】
Stack类是java. ntil包中专门用来实现栈的工具类。以下Java程序是一个不使用库函数而实现字符串反转的程序。例如,输入:123456,则输出:654321:输入:asdfeg,则输出:gefdsa。
【Java程序】
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class UseStack extends Applet implements ActionListener
{ Stack MyStack;
Label prompt=new Label("输入要反转字符:");
Button pushBtn=new Button("压栈");
Button popBtn=new Button("弹栈"); //反转
TextField input=new TextField(5);
int[] DrawStack =new int[10]; //记录堆栈中数据
int[] PoppedOut=new int[20]; //记录被弹出的数据
int StackCnt=0; //记录模拟堆栈的数组中的数据个数
String msg=" ";
public void init()
{ MyStack=new Stack();
add(prompt);
add(input);
add(pushBtn);
add(popBtn);
pushBtn.addActionListener(this);
(1)
}
public void paint(Graphics g)
{ for (int i=10; i<StackCnt; i++) //模拟显示堆栈内部的数据排列情况
{ g.drawRect(50,200-i*20,80,20);
g.drawString(Integer.toString(DrawStack[i]),80,215-i*20);
}
for (int i=0;(2) ) //显示被弹出的数据
g.drawString(Integer.toString(PoppedOut[i]),200+i*20,100);
g.drawString("堆栈",70,236);
g.drawString("栈底",135,225);
g.drawString("栈顶",160,225-StackCnt*20);
g.drawString(msg,200,140);
}
public void actionPerformed((3) )
{ if (e.getAct ionCommand () == "压栈") //压栈操作
{ if(StackCnt<10)
{ MyStack.push(new Integer((4) ));
DrawStack[StackCnt++]=Integer.parseInt(input.getText() );
input.setText (" ");
}
else
msg="输入数据过多,请先弹栈!"
}
else if (e.getActionCommand () == "弹栈") //弹栈操作
{ if((5) )
{ StackCnt--;
PoppedOut[PopCnt++]=[(Integer)(MyStack.pop())).intValue();
}
else
msg="堆栈已空,不能再弹栈!";
}
repaint();
}
}
在磁盘存储器中,寻道时间是(8)。
A.使磁头移动到要找的柱面上的所需时间
B.使磁头移动到要找的数据上的所需时间
C.在扇区中找到要找的区所需的时间
D.在磁道上找到的区所需的时间