阅读以下函数说明和Java代码,将应填入(n)处的字句写在对应栏内。 【说明】 以下程序实现数据的排序,将n个整数分别按照升序和降序进行排序,类SortInt_1实现升序排序,类SortInt_2实现降序排序。 【Java代码】

admin2009-02-15  24

问题 阅读以下函数说明和Java代码,将应填入(n)处的字句写在对应栏内。
    【说明】
   以下程序实现数据的排序,将n个整数分别按照升序和降序进行排序,类SortInt_1实现升序排序,类SortInt_2实现降序排序。
   【Java代码】
   class SortInt_1{
         int i,i,k,temp;
         void SortInt(int a1,int a2[]){//升序排序
               for(i=0;i<a1-1;i++){
                    k=i;
                    for(j=i+1;j<a1;j++){
                         if((1)) k=j;
                         if(k !=i){
                              temp=a2;a2=a2[k];a2[k]=temp;
                         }
                    }
               }
         }
   }
   class SortInt_2  (2) {
       int i,j,k,temp;
       void SortInt(int a1, int a2[]){//降序排序
           for(i=0; i<a1-1;i++){
               k=i;
               for(j=i+1;j<a1;j++){
                     if((3))k=j;
               }
               if(k !=i){
                     temp=a2;a2=a2[k];a2[k]=temp;
               }
           }
       }
   }
   public class test{
       public static void main(String args[]){
           int a[]={10,55,100,35,87,90,100,16};
           SortInt_1 NewInt=(4);
           NewInt.SortInt(a.lenvh,a);//调用SortInt_1类的方法
           System.out.println("升序排列的数据: ");
           for(int i=0;i<a.length;i++){
                System.out.print(a+" ");
           }
           System.out.println();
           NewInt=new SortInt_2();//创建类SortInt_2的对象
            (5);//调用相应方法进行降序排序
           System.out.println("降序排列的数据: ");
           for(int i=0;i<a.length;i++){
                System.out.print(a+" ");
           }
       }
   }

选项

答案(1) a2[k]>a2[j] (2) extends SortInt_1 (3) a2[k]<a2[j] (4) new SortInt_1() (5) NewInt.SortInt(a.length,a)

解析 本题所采用的排序方法是简单选择排序,即:对n个记录进行选择排序。基本思想如下,通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录进行交换,当i等于n时所有记录有序排列。
   据此,类SortInt_1中的SortInt方法实现升序排序,则每次应该选择尚未排序记录中关键字最小的记录,因此空(1)应填a2[j]<a2[k]。同理,类SortInt_2中的SortInt方法实现降序排序,则每次应该选择尚未排序记录中关键字最大的记录,故空(3)应填a2[j]>a2[k]。
   根据说明,紧跟空(4)的语句NewInt.SortInt(a.length,a)是调用SortInt_1类的方法,意味着此时NewInt是一个SortInt_1类实例,故空(4)应填new SortInt_1()。
   接着,有语句“NewInt=new SortInt_2()”  创建类SortInt_2的对象并将其赋值给NewInt变量,根据赋值兼容规则,这意味着SortInt_2对象是一个Sortlnt_1对象,亦即SortInt_2是 SortInt_1的子类,故空(2)应填extends SortInt_1。
   空(5)比较简单,对照上述的调用,可得空(5)应填NewInt.SortInt(a.length,a)。
转载请注明原文地址:https://kaotiyun.com/show/BrDZ777K
0

相关试题推荐
随机试题
最新回复(0)