码迷,mamicode.com
首页 > 编程语言 > 详细

c++实现快排基础版本

时间:2020-07-15 23:16:35      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:cout   i++   out   base   mes   code   name   space   begin   

#include <iostream>
#include<algorithm>
#include<vector>
using namespace std;
void swap(int& a, int& b) {
    int t = a;
    a = b;
    b = t;
}
void quicksort(vector<int>&ptr,int begin,int end) {
    
    
    if (begin < ptr.size() && end < ptr.size()) {
        int base = ptr[begin];
        int i = begin, j = end;
        /*for (auto a : ptr)
            cout << a << ends;
        cout << endl;*/
        //cout << i << " " << j << endl;
        if (begin < end) {
            while (i < j) {
                if (ptr[j] < base)
                {
                    if (ptr[i] > base) {
                        swap(ptr[i], ptr[j]);
                    }
                    else i++;

                }
                else j--;
            }
            swap(ptr[begin], ptr[i]);
            for (auto a : ptr)
                cout << a << ends;
            cout << endl;
            quicksort(ptr, begin, i - 1);
            quicksort(ptr, i + 1, end);
        }
    }
};

int main()
{
    vector<int>a{ 61,177,61,74,19,31,45,55,101,81 };
    for (auto i : a)cout << i << ends;
    cout << endl;
    quicksort(a,0,a.size()-1);
    for (auto i : a)cout << i << ends;
}

 

c++实现快排基础版本

标签:cout   i++   out   base   mes   code   name   space   begin   

原文地址:https://www.cnblogs.com/otakus/p/13307170.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!