算法:Java快速排序的实现

2023-08-22 08:13:33 浏览数 (1)

快速排序由于排序效率在同为O(n*logn)的几种排序方法中效率较高,快速排序思想——分治法也确实实用。 排序思想也有很多种,例如:冒泡排序、选择排序、插入排序,快速排序,那么此篇就来讲讲快速排序的实现吧~

基本思想

1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3.再对左右区间重复第二步,直到各区间只有一个数。

代码实现 那么下面我们用Java语言搞定:

代码语言:javascript复制
public class QuickSort {
    public void quickSort(int[] a,int l,int r){
        if (l<r){
            int temp=a[l];
            while (l<r){
                while (l<r && a[r]>temp){
                    r--;
                }
                if (l<r){
                    a[l  ]=a[r];
                }
                while (l<r && a[l]<=temp){
                    l  ;
                }
                if (l<r){
                    a[r--]=a[l];
                }
            }
            a[l]=temp;
            quickSort(a,l,temp-1);
            quickSort(a,temp 1,r);
        }
    }
}

0 人点赞