java实现数组排序,随机产生20个整数,按升序排,并对排序前后的数组按照每5个数的方式输出

如题所述

第1个回答  2010-09-28
import java.util.Random;

public class Temp {
public static void main(String[] arg0){
Temp temp = new Temp();
int[] a = temp.createArray();
temp.beforeSort(a);
temp.sort(a);
temp.afterSort(a);
}

public int[] createArray(){
int[] a = new int[20];
Random random = new Random();
for(int i=0;i<20;i++){
a[i] = random.nextInt(1000);
}
return a;
}
public void sort(int[] a){
int temp =0;
int time = 0;
boolean br = false;
for(int n =19;n>0;n--){
for(int m = 0;m<n;m++){
if(a[m]<a[m+1]){
br = true;
temp = a[m+1];
a[m+1]=a[m];
a[m]=temp;

}
++time;
}
if(!br){//如果没进判断,说明数组已经按序排列了,不需再循环
break;
}
br = false;
}
System.out.println("times="+time);
}

public void beforeSort(int[] a){
for(int i=0;i<a.length;i++){
System.out.print(a[i]+",");
if(i%5==4){
System.out.print("\n");
}
}
}

public void afterSort(int[] a){
for(int i=0;i<a.length;i++){
System.out.print(a[i]+",");
if(i%5==4){
System.out.print("\n");
}
}
}
}
第2个回答  2010-10-12
你这问的问题简直就是要人帮你做吧!!!
我建议你自己去了解"冒泡排序"!!
这个直接实现你的功能!!
不要那么懒惰额!!本回答被提问者和网友采纳