`
lanhuidong
  • 浏览: 227296 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

快速排序算法

阅读更多

1.快速排序算法:

任取一个数据(下面代码直接取第一个数据)作为关键数据,然后将所有比它小的元素移到它前面,比他大的元素移到他后面,这个过程称为一趟排序。然后运用递归思想,对关键数据的前面部分和后面部分再进行前面所述过程

 

package lan.algorithm.sort;

public class QuickSort implements Sort {

    @Override
    public void sort(int[] array) {
        sort(array, 0, array.length - 1);
    }

    public void sort(int[] array, int low, int high) {
        if (low < high) {
            int i = low;
            int j = high;
            int key = array[low];
            while(i < j){
                while(j > i){
                    if(key > array[j]){
                        int tmp = array[i];
                        array[i] = array[j];
                        array[j] = tmp;
                        break;
                    }
                    j--;
                }
                while(i < j){
                    if(key < array[i]){
                        int tmp = array[i];
                        array[i] = array[j];
                        array[j] = tmp;
                        break;
                    }
                    i++;
                }
            }
            sort(array, low, i - 1);
            sort(array, i + 1, high);
        }
    }

}

 

分享到:
评论

相关推荐

    快速排序算法相关分析

    快速排序算法相关分析 快速排序算法是一种有效的排序算法,虽然算法在最坏的情况下运行时间为 O(n^2),但由于平均运行时间为 O(nlogn),并且在内存使用、程序实现复杂性上表现优秀,尤其是对快速排序算法进行随机化...

    FPGA并行快速排序算法-位宽可设

    在本文中,我们将深入探讨基于FPGA的并行快速排序算法,特别关注“位宽可设”的特性。这种算法能够高效地处理大量数据,并且在硬件实现上具有很高的灵活性。我们将从以下几个方面来阐述这个主题: 一、快速排序算法...

    快速排序算法以及归并算法

    ### 快速排序算法 快速排序是一种高效的排序算法,采用分而治之的策略,其核心思想是选择一个基准元素,通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小,然后再...

    快速排序算法matlab

    ### 快速排序算法在MATLAB中的应用与理解 #### 一、快速排序算法简介 快速排序是一种非常高效的排序算法,由英国计算机科学家托尼·霍尔(Tony Hoare)于1960年提出。它采用分治策略来把一个序列分为较小的两个子...

    C语言实现快速排序算法

    快速排序算法,C语言 快速排序(Quicksort)是对冒泡排序的一种改进。由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有...

    c语言 数据结构 快速排序算法

    c语言版本的数据结构的快速排序算法,适用于新手学习

    快速排序算法实现

    快速排序算法C语言实现,快排序算法QuickSort.cpp

    快速排序算法实现 c#代码

    ### 快速排序算法在C#中的实现 #### 一、快速排序算法简介 快速排序是一种高效的排序算法,由英国计算机科学家托尼·霍尔(Tony Hoare)于1960年提出。该算法采用分治策略来把一个序列分为较小的两个子序列,再对这...

    演示快速排序算法(12KB)

    - **README.TXT**:这是一个文本文件,通常用于提供关于软件或代码的简短说明,可能包含快速排序算法的使用方法、注意事项或其他相关信息。 - **QUIKSORT.VBP**:这是Visual Basic Project文件,保存了整个项目的...

    快速排序算法java代码

    "快速排序算法java代码" 快速排序算法是由Tony Hoare在1960年提出的一种排序算法,它的平均时间复杂度为O(n log n),是目前最快的排序算法之一。下面我们将详细地讲解快速排序算法的java代码实现。 快速排序算法的...

    严蔚敏快速排序算法的伪代码。。。。。

    根据提供的标题、描述、标签及部分内容,我们可以梳理出与快速排序算法相关的关键知识点。 ### 快速排序算法概述 快速排序是一种高效的排序算法,在实际应用中,它的平均性能通常优于其他时间复杂度为 \(O(n\log n...

    分别使用Java和Python实现快速排序算法.zip

    快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法.zip 快速排序:分别使用Java和Python实现快速排序算法....

    C++快速排序算法程序

    C++快速排序算法程序,用于处理大量数据, 并对这些数据进行快速的排序

    改进的快速排序算法

    快速排序算法的改进思路 1.选取好的基准,是两边的数据个数尽量的均匀 取数组的第一个,中间,最后一个数据,取三个数中第二大的数作为基准 2. 不递归 3.与插入结合,当段内的数组个数小于等于16的时候,使用...

    快速排序算法 C语言实现

    快速排序算法 C语言实现 快速排序算法是一种高效的排序算法,通过递归的方式将记录分区排序。下面将详细介绍快速排序算法的实现细节。 首先,我们需要了解快速排序算法的基本思想。快速排序算法的核心思想是选择一...

    Java实现快速排序算法+编程知识+技术开发

    Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术...

    快速排序算法和冒泡排序效率对比

    快速排序和冒泡排序是两种常见的排序算法,它们在计算机科学中扮演着重要的角色,特别是在数据处理和优化程序性能方面。本篇文章将深入探讨这两种排序算法的原理、效率以及它们在C#编程语言中的实现。 首先,让我们...

    matlab 实现快速排序算法_一共有主程序,分类,插入和选择四个程序

    资源名:matlab 实现快速排序算法_一共有主程序,分类,插入和选择四个程序 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者...

    超快速排序算法,性能优于快速排序算法和基数排序算法

    ### 超快速排序算法详解 #### 一、引言 在计算机科学中,排序算法是一种重要的基础算法,被广泛应用于各种系统软件和应用软件之中。传统的排序算法如快速排序和基数排序各有优缺点:快速排序算法因其简洁的结构和...

Global site tag (gtag.js) - Google Analytics