#include <iostream>
#include <vector>
using namespace std;
int partition(int arr[], int left, int right){
int i = left +1;
int j = right;
while(i <= j){
while(arr[i] <= arr[left])
i++;
while(arr[j] >= arr[left])
j--;
if(i < j)
swap(arr[i++], arr[j--]);
else
i++;
}
swap(arr[left], arr[j]);
return j;
};
void quicksort(int arr[], int left, int right){
if(left >= right)
return;
int idx = partition(arr, left, right);
quicksort(arr, left, idx-1);
quicksort(arr, idx+1, right);
};
int main(){
int arr[] = {2,1,6,3,9,10,7};
cout << sizeof(arr) << endl;
quicksort(arr, 0, (sizeof(arr)-1)/sizeof(int));
for(int i = 0; i < sizeof(arr)/sizeof(int); i++)
cout << arr[i] << " ";
cout << endl;
return 0;
}