关于java中快速排序和冒泡排序的小结

来源:互联网 发布:二维动漫制作软件 编辑:程序博客网 时间:2024/05/18 14:12

##快速排序的代码:

package fuxi;
//有一些自己的想法
import java.util.Arrays;

public class QuickSort {
    public static void main(String[] args) {
QuickSort qs=new QuickSort();
    int[] array=new int[]{2,5,4,15,13,20,7,38,14};
    /*Arrays.sort(array);
    for(int i: array){
    System.out.println(i);
    }*/
   
    qs.quickSort(array,0,array.length-1);
   
    for(int i: array){
    System.out.println(i);
    }
   
}
    public void quickSort(int[] array,int start,int end){
      int key=array[start];
      int i=start;
      int j=end;
      
      while(i<j){
      while(array[j]>key&&j>i){
      j--;
      }          
      int t=array[i];
      array[i]=array[j];
      array[j]=t;
      while(array[i]<key&&i<j){
      i++;
      }
      int u=array[i];
      array[i]=array[j];
      array[j]=u;      
      
      }
      //递归调用
      if(i-1>start){
      quickSort(array,start,i-1);
      }
      if(i+1<end){
      quickSort(array,i+1,end);
      }
       
    }   
}

##冒泡排序的代码:

package fuxi;


import java.util.Random;


public class MaoPao {
      public static void main(String[] args) {
Random r=new Random();
int[] data=new int[10];
for(int i=0;i<data.length-1;i++){
data[i]=r.nextInt(100);
}
MaoPao mp=new MaoPao();
mp.mp(data);
for(int i: data){
System.out.println("排序后:"+i);
}
 
}
      public void mp(int[] data){
       for(int i=0;i<data.length-1;i++){
       for(int j=0;j<data.length-1-i;j++){
       if(data[j]>data[j+1]){
       int t=data[j];
       data[j]=data[j+1];
       data[j+1]=t;
       }
       }
       }
      }
}

原创粉丝点击