#include <iostream.h>
void Swap( int&, int&);
void quickSort(int *R,int low,int high);
int partition(int *R,int i,int j);
void swap(int& x,int& y)
{
 int iTemp=x;
 x=y;
 y=iTemp;
}
int partition(int v[],int i,int j)
{
 int tempSave=v[i];
 while(i<j)
 {
  while(v[j]>=tempSave && i<j)
   j--;
  swap(v[i],v[j]);
  while(v[i]<=tempSave && i<j)
   i++;
  swap(v[i],v[j]);
 }
 return i;
}

void quickSort(int v[],int low ,int high)
{
 int tempPos;
 if (low<high)
 {
  tempPos=partition(v,low,high);
  quickSort(v,low,tempPos-1);
  quickSort(v,tempPos+1,high);
 }

}


void main()
{
int i;
int R[11]={-1,7,12,3,5,8,6,2,9,14,11};
for(i=0;i<=10;i++)
cout << R[i] << endl ;
quickSort(R,1,10);
for(i=0;i<=10;i++)
cout << R[i] << endl ;
}