#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 ;
}