美文网首页C++
快速排序—c++

快速排序—c++

作者: 爱秋刀鱼的猫 | 来源:发表于2018-02-24 20:15 被阅读4次

代码:

//分区函数
int partition(vector<int> & arr,int left,int right){
    int pivotValue = arr[right];
    int sortIndex = left;
    for(int i = left;i<right;i++){
        if(arr[i]<pivotValue){
            swap(arr[i],arr[sortIndex]);
            sortIndex +=1;
        }
    }
    swap(arr[i],arr[sortIndex]);
    return sortIndex;
}

void quickSort(vecot<int> &arr,int left,int right){
    if(left>right)
        return;
    else{
        int index = partition(srr,left,right);
        quickSort(arr,left,index-1);
        quickSort(arr,index+1,right);
    }
}

void sort(vector<int> &vi){
    quickSort(vi,0,vi.size()-1);
}

int main()
{
int a[] = {3,5,7,9,2,3,1,0,7,5,4};  
    vector<int> va(a, a+11);  
  
    cout<<"Before quicksort:\n";  
    for(auto x:va)  
        cout<<x<<" ";  
    cout<<endl;  
  
    qSort(va);  
  
    cout<<"After quicksort:\n";  
    for(auto x:va)  
        cout<<x<<" ";  
    cout<<endl;  
    system("pause");  
    return 0; 

}

快速排序每一趟可以确定一个元素的最终位置。

相关文章

  • 七大排序算法之快速排序

    七大排序算法之快速排序 @(算法笔记)[排序算法, 快速排序, C++实现] [TOC] 快速排序的介绍: 快速排...

  • 基础算法笔记 python和C++

    二分查找 python code 选择排序 python code c++ code 快速排序 python c++

  • C++ 常用代码

    vector 迭代器遍历 C++ 函数模板 冒泡排序 快速排序

  • CUMTOJ数据结构实验内容1-2 problemJ

    1361 problem 算法10-6~10-8:快速排序 C++ 题目描述 快速排序是对起泡排序的一种改进。它的...

  • 各种排序算法实现

    C++实现各种排序算法。上张图。 自定义的swap函数。 冒泡排序 插入排序 希尔排序 选择排序 快速排序 归并排...

  • 排序. 快速排序

    以前写过一篇, 分析的非常详细.排序算法(1) 快速排序 C++实现 引用了一个动图, 直观地感受快速排序过程.演...

  • 常见排序算法

    希尔排序,快速排序,堆排序,2路归并算法的c++简单实现 在 里面写了一个随机数列生成,可以快速验证算法的正确性 ...

  • 常见排序算法总结(程序员必会)

    看了总结图,我这里就总结一下 直接插入排序,冒泡排序,快速排序,堆排序和归并排序,使用C++实现 重新画了总结图 ...

  • 快速排序—c++

    代码: 快速排序每一趟可以确定一个元素的最终位置。

  • C++ 快速排序

网友评论

    本文标题:快速排序—c++

    本文链接:https://www.haomeiwen.com/subject/ojycxftx.html