一起答
单选

如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用的方法是(  )。

  • A.分块法 
  • B.顺序法
  • C.二分法 
  • D.散列法
参考答案
查看试卷详情
相关试题
  1. 本题的功能是监听鼠标的操作。鼠标置于窗口中单击时(左键或右键),在单击的地方会画一个小矩形,如果将鼠标置于小矩形上,则鼠标光标状态改为小十字,按下鼠标左键可拖曳,双击鼠标左键(或右键)时,小矩形消失。

    import java.awt.*;

    import java.awt.event.*;

    import java.util.*;

    import java.awt.geom.*;

    import javax.swing.*;

    public class java3

    {

    public static void main(String[]args)

    {

    MouseFrame. frame=new MouseFrame:

    frame.setDefaultCloseOperation(JFrame.EXIT_

    oN_CLOSE);

    frame.show;

    }

    }

    class MouseFrame. extends JFrame

    {

    public MouseFrame

    {

    setTitle("java3");

    setSize(DEFAULT WIDTH, DEFAULT

    HEIGHT):

    MousePanel panel=new MousePanel;

    Container contentPane=getContentPane;

    contentPane.add(panel);

    }

    public static final int DEFAULT_WIDTH=300;

    public static final int DEFAULT_HEIGHT=200;

    }

    class MousePanel extends JPanel

    {

    public MousePanel

    {

    squares=new ArrayList;

    current=null:

    addMouseListener(new MouseHandler);

    addMouseMotionListener(new MouseMotionHan-

    dler);

    }

    public void paintComponent(Graphics g)

    {

    super.paintComponent(g);

    Graphics2D g2=(Graphics2D)g;

    for(int i=0;i

    g2.draw((Rectangle2D)squares.get(i));

    }

    public void find(Point2D p)

    for(int i=0;i

    {

    Rectangle2D r=(Rectangle2D)squares.get(i);

    if(r.contains(p))return r;

    }

    return null:

    }

    public void add(Point2D p)

    {

    double x=P.getX;

    double Y=P.getY:

    current=new Rectangle2D.Double(

    x-SIDELENGTH/2.

    y-SlDELENGTH/2.

    S1DELENGTH,

    SIDELENGTH);

    squares.add(current);

    repaint;

    }

    public void remove(Rectangle2D s)

    {

    if(S= =null)return:

    if(S= =current)current=null;

    squares.remove(s):

    repaint;

    }

    private static final int SIDELENGTH=10:

    private ArrayList squares;

    private Rectangle2D current;

    private class MouseHandter extends MouseAction-

    Listener

    {

    public void mousePressed(MouseEvent event)

    {

    current=find(event.getPoint);

    if(current= =null)

    add(event.getPoint);

    }

    public void mouseClicked(MouseEvent event)

    current=find(event.getPoint);

    if(current!=nullevent.getClickCount

    >=2)

    remove(current);

    }

    }

    private class MouseMotionHandler implements Mouse-

    MotionListener

    {

    public void mouseMoved(MouseEvent event)

    {

    if(find(event.getPoint)= =null)

    setCursor(Cursor.getDefaultCursor);

    else

    setCursor(Cursor.getPredefinedCursor

    (Cursor.CROSSHAIR_CURSOR));

    }

    public void mouseDragged(MouseEvent event)

    {

    if(current!=null)

    {

    int x=event.getX:

    int Y=event.getY; 、

    current.setFrame(

    x-SIDELENGTH/2,

    Y-SlDELENGTH/2.

    SIDELENGTH,

    SIDELENGTH);

    repaint;

    }

    }

    }

    }

  2. 本题的功能是用流式布局管理器来管理窗口中的按钮。在执行程序时指定生成按钮的个数,并把这些按钮都放置在流式布局管理器的窗口中。 

    import java.awt.*;

    import java.awt.event.*;

    import javax.swing.*;

    public class java2 

    {

    public static void main(String[]args)

    {

    if(args.length!=1)

    {

    System.out.println("请指定按钮的个数");

    System.exit(0);

    }

    String buttonString=args[O];

    int buttonNumber=       ;

    ButtonFrame. frame=new ButtonFrame(button-

    Number);

    frame.setDefaultCloseOperation(JFrame.EXIT_

    ON_CLoSE);

    frame.show;

    }

    }

    class ButtonFrame. extends JFrame

    {

    public ButtonFrame(      )

    {

    buttons=buttonNumber:

    setTitle("java2");

    setSize(WIDTH,HEIGHT);

    JPanel buttonPanel=new JPanel;

    for(int i=0;i{

    JButton addButton=new JButton("add"+i):

    buttonPanel.add(addButton);

    Container contentPane=getContentPane;

    contentPane.add(buttonPanel);

    }

    public static final int WIDTH=350;

    public static final int HEIGHT=200:

    private int buttons;

    }

  3. 本题提示输入年份,然后判断该年份是否为闰年。

    importjava.io.*;

    public class javal{

    public static void main(String[]args){

    InputStreamReader ir;

    BufferedReader in;

    ir=new InputStreamReader(System.in);

    in=new BufferedReader(ir);

    int year=1900;

    System.out.print("请输入年份:");

    try{

    String s=in.readLine;

             

            (Exception e){

    }

    if(  )

    System.OUt.println(year+"是闰年");

    else

    System.out.println(year+"不是闰年");

    }

    }

  4. 下列选项中,与成员变量共同构成一个类的是(  )。

    • A.关键字 
    • B.方法
    • C.运算符 
    • D.表达式
  5. 软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于(  )。

    • A.定义阶段 
    • B.开发阶段
    • C.维护阶段 
    • D.上述三个阶段
  6. 下列选项中属于Java语言的垃圾回收机制的一项是(  )。

    • A.语法检查 
    • B.堆栈溢出检查
    • C.跨平台
    • D.内存跟踪
  7. 下列数中为八进制的是(  )。

    • A.27 
    • B.0x25
    • C.026
    • D.028
  8. 数据库设计中反映用户对数据要求的模式是(  )。

    • A.内模式 
    • B.概念模式
    • C.外模式 
    • D.设计模式
  9. 下列叙述中正确的是(  )。 

    • A.在面向对象的程序设计中,各个对象之间具有密切的关系
    • B.在面向对象的程序设计中,各个对象都是公用的
    • C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小
    • D.上述3种说法都不对
  10. 按层次次序将一棵有n-个结点的完全二叉树的所有结点从1~n编号,当i≤n/2时,编号为i的结点的左子树的编号是(  )。

    • A.2i-1 
    • B.2i
    • C.2i+1
    • D.不确定