#include <stdio.h>
void qsort(int v[],int left,int right);
void swap(int v[], int i, int j);
void prtArr(int *v,int len);
int main(){
int v[] = {8,5,6,7};
prtArr(v,4);
qsort(v, 0, 3);
printf("\n");
prtArr(v,4);
}
void prtArr(int *v,int len){
int i = 0;
while(i < len){
printf("%d, ",*(v + i++));
}
}
void qsort(int v[],int left,int right){
int i,last;
if(right <= left)
return;
swap(v, left, (left + right)/2);
last = left;
for (i = left +1; i<=right;i++)
if(v[i] < v[left]){
printf("v[i] > v[left] : %d -->> %d \n",v[i] , v[left]);
swap(v, ++last, i);
}
swap(v, left, last);
qsort(v, left, last -1);
qsort(v, last+1, right);
}
void swap(int v[], int i, int j){
int tmp ;
tmp = v[i];
v[i] = v[j];
v[j] = tmp;
}