64,662
社区成员
发帖
与我相关
我的任务
分享
void qsort(VIT a,VIT b)
{
if( a < b )
{
VIT t=a;
t=partition(a+1,b,bind2nd(less<int>(),*t));
swap(*a,*(t-1));
qsort(a,t-1);
qsort(t,b);
}
}
#include<iostream>
#include<vector>
#include<algorithm>
#include<functional>
using namespace std;
typedef vector<int> VI;
typedef vector<int>::iterator VIT;
void qsort(VIT a, VIT b)
{
if (a < b)
{
VIT t = partition(a, b, bind2nd(less<int>(), *a));
qsort(a, t);
if (*t == *a) t = a + 1;
qsort(t , b);
}
}
int main()
{
int a;
VI v_in;
VIT it;
cout << "Input 5 numbers:";
for (int i = 0; i < 5; i++)
{
cin >> a;
v_in.push_back(a);
}
qsort(v_in.begin(), v_in.end());
for (it = v_in.begin(); it != v_in.end(); it++)
{
cout << *it << ' ';
}
cout << endl;
return 0;
}
#include<iostream>
#include<vector>
#include<algorithm>
#include<functional>
using namespace std;
typedef vector<int> VI;
typedef vector<int>::iterator VIT;
void qsort(VIT a,VIT b)
{
if( a < b - 1 )
{
VIT t=a;
t=partition(a+1,b,bind2nd(less<int>(),*t));
swap(*a,*(t-1));
qsort(a,t-1);
qsort(t,b);
}
}
int main()
{
int a;
VI v_in;
VIT start,end,it;
cout<<"Input 5 numbers:";
for(int i=0;i<5;i++)
{
cin>>a;
v_in.push_back(a);
}
start=v_in.begin();
end=v_in.end();
qsort(start,end);
for(it=v_in.begin();it!=v_in.end();it++)
{
cout<<*it<<' ';
}
cout<<endl;
return 0;
}