#include <cstdlib>
#include <iostream>
#include <vector>
using namespace std;
void input(vector<int>& v)
{
cout<<"please enter the numbers:"<<endl;
int data;
while(cin>>data)
v.push_back(data);
}
void print(const vector<int>& v)
{
for(vector<int>::const_iterator iter=v.begin(); iter!=v.end(); iter++)
cout<<*iter<<" ";
cout<<endl;
}
int partition(vector<int>& v, int start, int end)
{
int insert=start-1;
for(int i=start; i<end; i++)
{
if(v[i]<v[end])
{
insert++;
int temp=v[insert];
v[insert]=v[i];
v[i]=temp;
}
}
int temp=v[++insert];
v[insert]=v[end];
v[end]=temp;
return insert;
}
void p_sort(vector<int>& v, int s, int e)
{
if(s<e)
{
int u=partition(v,s,e);
p_sort(v,s,u-1);
p_sort(v,u+1,e);
}
}
int main()
{
vector<int> v;
input(v);
p_sort(v, 0, v.size()-1);
print(v);
return 0;
}
7.1 快速排序
最新推荐文章于 2023-07-05 14:52:25 发布