`

快速排序(c++)

阅读更多

void swap(int list[], int first, int second) {
    int temp = list[first];
    list[first] = list[second];
    list[second] = temp;
}

int partition(int list[], int first, int last) {
    int pivot;
    int index, smallIndex;

    swap(list, first, (first+last)/2);

    pivot = list[first];
    smallIndex  = first;
    for(index=first+1; index<=last; index++)
        if(list[index]<pivot) {
            smallIndex++;
            swap(list, smallIndex, index);
        }

    swap(list, first, smallIndex);

    return smallIndex;
}

void recQuickSort(int list[] , int first, int last) {
    int pivotLocation;

    if(first<last) {
        pivotLocation = partition(list, first, last);
        recQuickSort(list, first, pivotLocation-1);
        recQuickSort(list, pivotLocation+1, last);
    }
}

分享到:
评论

相关推荐

    多进程多线程快速排序C++源码

    在这个“多进程多线程快速排序C++源码”中,开发者采用了并行计算的概念,结合了Windows操作系统下的多进程和多线程技术,以进一步提升排序的速度。多进程是指同时运行多个独立的程序,它们各自拥有独立的内存空间,...

    快速排序c++源代码

    在C++中实现快速排序,主要涉及到以下几个关键步骤: 1. **选择基准元素(Pivot Selection)**:这是快速排序的第一步,需要从待排序的数组中选取一个元素作为基准。通常选取第一个元素、最后一个元素或中间元素,...

    数据结构--快速排序C++源代码

    数据结构--快速排序C++源代码,自己编写调试,代码简单易懂,不长

    快速排序c++,快速排序c++源码和详细教程

    以下是一个简单的快速排序C++实现: ```cpp #include using namespace std; int partition(int arr[], int low, int high) { int pivot = arr[high]; // 选择最后一个元素作为基准 int i = (low - 1); // 将i设...

    快速排序C++

    数据结构のC++快速排序。VC6.0调试通过。

    快速排序c++源码.zip

    快速排序c 快速排序c++源码.zip快速排序c++源码.zip快速排序c++源码.zip

    快速排序C++源代码

    快速排序(quick sort)C++源代码

    快速排序C++的实现

    5. **代码实现**:展示C++实现的快速排序代码,包括主函数、分区函数和快速排序函数。 6. **优缺点**:讨论快速排序的优缺点,如效率高、不稳定、对输入敏感等。 7. **应用实例**:列举快速排序在实际问题中的应用。...

    《数据结构课设》快速排序C++实现

    在这个《数据结构课设》中,你将学习到如何用C++实现快速排序。C++是一种通用的、面向对象的编程语言,具有丰富的库支持和高效性,是实现算法的理想选择。C++中的标准模板库(STL)虽然提供了sort函数,但理解并实现...

    快速排序C++算法

    严奶奶《数据结构》书上快速排序的C++算法实现,随机生成10个100以内的数,然后快速排序,并输出比较次数

    快速排序c++

    根据给定的文件信息,我们可以总结出以下关于“快速排序C++”的相关知识点: ### 快速排序简介 快速排序是一种高效的排序算法,由英国计算机科学家托尼·霍尔(Tony Hoare)在1960年提出。它采用分治法策略来把一...

    C++语言的算法实现包括插入排序冒泡排序堆排序快速排序

    本文将深入探讨四种在C++中实现的常见排序算法:插入排序、冒泡排序、堆排序和快速排序。这些算法各有特点,适用于不同的场景,理解并掌握它们对于提升编程能力至关重要。 1. **插入排序**: 插入排序是一种简单的...

    快速排序问题(C++)

    在C++中实现快速排序,首先我们需要选择一个元素作为“基准”(pivot)。通常选取数组的第一个元素或者最后一个元素。然后,我们遍历数组,将所有小于基准的元素移动到基准的左边,大于基准的元素移动到右边。这个...

    快速排序c++代码

    快速排序的c++代码 请大家免费使用 还有堆排序呢 O ∩ ∩ O

    c++快速排序示例

    用c++写的快速排序 Swap交换两个int类型的数据 Sort排序 QuickSort快速排序(递归) main

    sort_algorithm_快速排序C++_

    在C++中实现快速排序,通常会包含以下几个关键步骤: 1. **选择枢轴元素(Pivot Selection)**:选取待排序序列中的一个元素作为枢轴,枢轴的选择对快速排序的效率有很大影响。常见的选择方法有随机选择、首元素、...

Global site tag (gtag.js) - Google Analytics