public class MyDemo{
private int[] arr;
private int size;
public MyDemo(int size){
this.size=size;
this.arr=new int[size];
Random rd = new Random();
for(int i=0;i<size;i++){
this.arr[i]=rd.nextInt(100);
}
}
public void show(){
for(int i=0;i<size;i++){
System.out.print(this.arr[i]+" ");
}
System.out.println();
}
public void bobo(){
for(int i=0;i<size;i++){
for(int j=0;j<size-i-1;j++){
if(this.arr[j]<this.arr[j+1]){
int tmp = this.arr[j];
this.arr[j] = this.arr[j+1];
this.arr[j+1]=tmp;
}
}
System.out.println();
}
}
public void quick(int low,int high){
int l = low;
int h = high;
if(l>h){
return;
}
boolean flag = false;
while(l<h){
if(this.arr[l]<this.arr[h]){
int tmp = this.arr[l];
this.arr[l] = this.arr[h];
this.arr[h] = tmp;
flag = !flag;
}
if(flag){
l++;
}else{
h--;
}
}
l--;
h++;
quick(low,l);
quick(h,high);
}
public static void main(String[] args){
MyDemo md = new MyDemo(5);
mt.show();
mt.bobo();
mt.show();
}
}
冒泡排序5个数
冒泡排序5000个数所用时间
public static void main(String[] args) {
MyTest mt = new MyTest(50000);
long time = System.currentTimeMillis();
mt.bobo();
System.out.println(System.currentTimeMillis()-time);
}
快速排序5个数
public static void main(String[] args) {
MyTest mt = new MyTest(5);
mt.show();
mt.quick(0,4);
mt.show();
}
快速排序50000个数所用时间
public static void main(String[] args) {
MyTest mt = new MyTest(50000);
long time = System.currentTimeMillis();
mt.quick(0,49999);
System.out.println(System.currentTimeMillis()-time);
}
以上为冒泡、快速排序简单练习