排序都有哪几种方法?请列举。用JAVA实现一个快速排序。

行业问题 面试题库 已帮助 人

排序都有哪几种方法?请列举。用JAVA实现一个快速

排序。

热搜:体温测量的常用方法有哪几种?

答案解析

难度★★☆ 搜索
  • 正确答案:

    本人只研究过冒泡排序、选择排序和快速排序,下面是快速排序的代码:
    public class QuickSort {
    /**
    * 快速排序
    * @param strDate
    * @param left
    * @param right
    */
    public void quickSort(String[] strDate,int left,int right){
    String middle,tempDate;
    int i,j;
    i=left;
    j=right;
    middle=strDate[(i+j)/2];
    do{
    while(strDate[i].compareTo(middle)<0&& i<right)
    i++; //找出左边比中间值大的数
    while(strDate[j].compareTo(middle)>0&& j>left)
    j--; //找出右边比中间值小的数
    if(i<=j){ //将左边大的数和右边小的数进行替换
    tempDate=strDate[i];
    strDate[i]=strDate[j];
    strDate[j]=tempDate;
    i++;
    j--;
    }
    }while(i<=j); //当两者交错时停止
    if(i<right){
    quickSort(strDate,i,right);//从
    }
    if(j>left){
    quickSort(strDate,left,j);
    }
    }
    /**
    * @param args
    */
    public static void main(String[] args){
    String[] strVoid=new String[]{"11","66","22","0","55","22","0","32"};
    QuickSort sort=new QuickSort();
    sort.quickSort(strVoid,0,strVoid.length-1);
    for(int i=0;i<strVoid.length;i++){
    System.out.println(strVoid[i]+" ");
    }
    }
    }