两种排序方式

快速排序:

 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]);
        }
      
    }   
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值