当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
2015年计算机软件水平初级程序员笔试考前训练(16)
发布时间:2011/6/23 21:07:50 来源:城市学习网 编辑:admin
  希尔排序
  已知待排序序列data[n];希尔排序的增量序列为d[m],其中d[]序列降序排列,且d[m-1]=1。其方法是对序列进行m趟排序,在第i趟排序中,按增量d把整个序列分成d个子序列,并按直接插入排序的方法对每个子序列进行排序。
  希尔排序的程序为:
  void shellsort(int *data,int *d,int n,int m)
  { int i,j;
  for (i=0;i    for (j=0; (1) ;j++)
  shell( (2) );
  }
  void shell(int *data,int d,int num,int n)
  { int i,j,k,temp;
  for (i=1; (3) ;i++)
  { j=0;
  temp=data[j+i*d];
  while ((j     j++;
  for (k=j;k      data[k+1]=data[k];
  (5) ;
  (6) }
  }
  答案:(1)j  (2)data,d,j,n
  (3)num+i*d  (4)data[j+i*d]  (5)data[j]=temp [NextPage]   阅读以下说明和Java程序,将应填入__(n)__处的字句写在答题纸的对应栏内
  【说明】
  以下程序的功能时三角形、矩形和正方形的面积输出。
  程序由5个类组成:areatest是主类,类Triangle,Rectangle和Square分别表示三角形、矩形和正方形,抽象类Figure提供了一个计算面积的抽象方法。
  【程序】
  public class areatest{
  public static viod main(string args[]){
  Figure[]Figures={
  New Triangle(2,3,3),new rectangle(5,8),new square(5)
  };
  for (int i= 0;i< Figures.length;i++){
  system.out.println(Figures+”area=”+ Figures.getarea());
  }
  }
  }
  public abstract class figure{
  public abstract double getarea();
  }
  public class rectangle extends __(1)__ {
  double height;
  double width;
  public rectangle (double height, double width){
  this.height= height;
  this. width = width;
  }
  public string tostring(){
  return”rectangle: height=”+ height +”, width=”+ width +”:”;
  }
  public double getarea(){
  return __(2)__
  }
  }
  public class square exends __(3)__
  {
  public square(double width) {
  __(4)__ ;
  }
  public string tostring(){
  return” square:width=”+width”:”;
  }
  }
  public class rectangle entend __(5)__
  {
  double la;
  double lb;
  double lc;
  public triangle(double la ,double lb,double lc){
  this.la=la; this.lb=lb; this.lc=lc;
  }
  public string tostring(){
  return” triangle:sides=”+la+”, ”+lb+”, ”+lc+”:”;
  }
  public double get area(){
  double s=(la+lb+lc)/2.0;
  return math.sqrt(s*(s-la) *(s-lb) *(s-lc));
  }
  }
  答案:
  (1)Figure
  (2)height*width
  (3)Rectangle
  (4)super(width,width)
  (5)Figure
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved