快速排序:
public class QuickPaixu{
static int array[] = { 1, 2, 56, 3, 99, 56 };
public static int getMiddle(int a[], int min,int max){
int temp = 0;
while(max>min){
temp = a[min];
while(max>min && a[max]>= temp){
max --;
}
a[min] = a[max];
while(max>min && a[min]<=temp){
min++;
}
a[max] = a[min];
}
a[min] = temp;
return min;
}
public void quick(int b[],int min, int max){
if(min<max){
int middle = getMiddle(b,min,max);
quick(b,min,middle-1);
quick(b,middle+1,max);
}
}
public static void main(String[] args) {
QuickTest test = new QuickTest();
test.quick(array, 0, array.length-1);
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
}
}
快速排序的实现方式是选出数组的第一个元素(temp), 用这个数字跟每一个元素做对比, 然后交换位置
冒泡排序:
public class Maopao{
public static void main(String[] args){
int a[] = {11,22,66,564,5,2,8};
int temp = 0;
for(int i=0;i<a.length-1;i++){
for(int j=0;j<a.length-1-i;j++){
if(a[j]>a[j+1]){
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}