#include<iostream>
using namespace std;
void print(int *a,int len)
{
int i=0;
for(;i<len;++i)
cout<<i+1<<':'<<a[i]<<" ";
cout<<endl;
}
void exchange(int*a,int *b)
{
int t=*a;
*a=*b;
*b=t;
}
int partition(int *a,int left,int right)
{
int key=a[right];
int i=left-1;
int j=left;
while(j<right)
{
if(a[j]<=key)
{
++i;
exchange(&a[i],&a[j]);
}
++j;
}
exchange(&a[i+1],&a[right]);
return i+1;
}
void q_sort(int *a,int left,int right)
{
if(left>=right)
return;
int q=partition(a,left,right);
q
using namespace std;
void print(int *a,int len)
{
int i=0;
for(;i<len;++i)
cout<<i+1<<':'<<a[i]<<" ";
cout<<endl;
}
void exchange(int*a,int *b)
{
int t=*a;
*a=*b;
*b=t;
}
int partition(int *a,int left,int right)
{
int key=a[right];
int i=left-1;
int j=left;
while(j<right)
{
if(a[j]<=key)
{
++i;
exchange(&a[i],&a[j]);
}
++j;
}
exchange(&a[i+1],&a[right]);
return i+1;
}
void q_sort(int *a,int left,int right)
{
if(left>=right)
return;
int q=partition(a,left,right);
q