请完成下列Java程序。程序的功能是对数组进行冒泡排序。冒泡排序算法的基本思路是把当前数据序列中的各相邻数据两两比较,发现任何一对数据间不符合升序或降序关系则立即调换它们的顺序,从而保证相邻数据间符合升序或降序的关系。本题是进行升序排列。例如数组a[]={30,1,-9,70,25}则排序后为{-9 1 25 30 70}。
注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。 源程序文件代码清单如下: public class BubbleSort { public static void main(String args[]) {int i,j;int a[]={30,1,-9,70,25};int n=a.length;System.out.print("排序前数组为:");for(i=0;i<n;i++)System.out.print(a[i]+" ");System.out.println();for(i=1;i<n;i++)for(j=0;______j++)if(a[j]>a[j+1]) { int temp=a[j]; ______; a[j+1]=temp;} System.out.print("排序后数组为:"); for(i=0;i<n;i++) System.out.print(a[i]+" "); } }
参考答案:
解析:j<n-i;a[j]=a[i+1]; 本题主要考查for循环语句的用法及数组的基本知识。解答本题的关键是能够熟练的掌握冒泡排序算法的思想及for循环语句的用法。排序是数据处理中经常使用的一种重要运算。常见排序分为:插入排序、选择排序、冒泡排序、基数排序等。在本题中,for(j=0; j<n-i;j++)循环的功能是对上次排序的结果再进行排序,从中选择最小的数。a[j]=a[j+1]语句的功能是把最小的数放在数组的最前面。