#include<iostream>
using namespace std;
int AdjustArray(int s[], int l, int r)
{
int i = l;
int j = r;
int temp = s[l];
while ( i < j )
{
while ( s[j] >= temp && j > i)
{
j--;
}
if ( j > i )
{
s[i++] = s[j];
}
while ( s[i] < temp && j >i )
{
i++;
}
if ( j > i )
{
s[j--] = s[i];
}
}
s[i] = temp;
return i;
}
void quicksort(int s[], int l, int r)
{
if ( l > r )
{
return;
}
int i = AdjustArray(s, l, r);
quicksort(s, l, i-1);
quicksort(s, i+1, r);
}
int main(int argc, char *argv[])
{
int s[9] = { 6, 8, 2, 4, 1, 9, 5, 3, 7};
for ( int i=0; i<9; i++)
cout<<s[i]<<" ";
cout<<endl;
quicksort(s, 0, 8);
for ( int i=0; i<9; i++)
cout<<s[i]<<" ";
return 0;
}