冒泡排序法:这里采用随机生成10个数,可通过直接修改length的值修改个数。
这里给出测量此方法的效率(大概),通过输出两次系统时间来对比。如果随机产生的数比较大时,有明显差别。(数比较大时,请注释掉打印,即代码中 “//依次打印排序后数组的每个元素” 下的循环)
/**
* 冒泡排序法
*/
import java.util.Calendar;
public class BubbleSortWay {
public static void main(String[] args) {
//产生length个随机数
int length = 10;
BubbleSort bs = new BubbleSort();
//给数组依次赋随机值
int array[] = new int[length];
for(int i=0;i<array.length;i++){
int t = (int) (Math.random()*1000);
array[i] = t;
}
//输出此刻的系统时间
Calendar ca = Calendar.getInstance();
System.out.println(ca.getTime());
//调用排序方法
bs.sort(array);
//输出此刻的系统时间
ca = Calendar.getInstance();
System.out.println(ca.getTime());
//依次打印排序后数组的每个元素
for(int i=0;i<array.length;i++){
System.out.println(array[i] + " ");
}
}
}
//冒泡排序方法类
class BubbleSort {
private int temp = 0;//临时变量
//冒泡排序方法
public void sort(int array[]){
for(int i=0;i<array.length-1;i++){
for(int j=0;j<array.length-1-i;j++){
if(array[j] > array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
}
}