问题 多项选择题

【说明】
以下程序实现数据的排序,将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[i];a2[i]=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[i];a2[i]=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[i]+" ");

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[i]+" ");


答案

参考答案:(A) aB[k]>aB[j]
(B) extends SortInt_A
(C) aB[k]<aB[j]
(D) new SortInt_A()
(E) 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)。

选择题
[ ]

A  声波具有能量      

B  声波定向发射器喇叭状外观可以减少声音的分散,从而增大响度      

C  使用“金嗓子”时,护航官兵佩戴耳罩是在人耳处减弱噪声     

D “金噪子”发出的声波是次声波

查看答案
单项选择题