排序算法

Posted yumingxing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序算法相关的知识,希望对你有一定的参考价值。

1.快速排序

采用分支策略,O(nlgn);

public class QuickSort {

    public void quickSort(int[] arr, int low ,int high){

        if (low < high){
            int index = partition(arr, low , high);
            quickSort(arr, low, index-1);
            quickSort(arr, index+1, high);
        }
    }

    public int partitioin(int[] arr, int low, int high){

        int key = arr[low];
        while (low < high) {
            while (low < high && arr[high] > key) high--;
            arr[low] = arr[high];
            while (low < high && arr[low] < key) low++;
            arr[high] = arr[low];
        }
        arr[low] = key;
        return low;
    }
}

 

以上是关于排序算法的主要内容,如果未能解决你的问题,请参考以下文章

算法排序之堆排序

快速排序-递归实现

从搜索文档中查找最小片段的算法?

在第6731次释放指针后双重免费或损坏

TimSort算法分析

以下代码片段的算法复杂度