int partitionNew(int n[],int left,int right)
{
int lo;
lo=left;
int val=n[left];
int hi=right;
while(lo!=hi){
while(lo!=hi)
{
if(n[hi]<val)
{
printf("%d<%d:n[%d]<n[%d]\n",n[hi],n[lo],hi,lo);
n[lo]=n[hi];
printf("n[%d]=n[%d]\n",lo,hi);
printArry(n,8);
break;
}
else
--hi;
}
while(lo!=hi)
{
if(n[lo]>val)
{
printf("%d>%d:n[%d]>n[%d]\n",n[lo],n[hi],lo,hi);
n[hi]=n[lo];
printf("n[%d]=n[%d]\n",hi,lo);
printArry(n,8);
break;
}
else
++lo;
}
}
n[lo]=val;
printArry(n,8);
static counter=0;
printf("%d:val=%d,return %d\n",++counter,val,lo);
return lo;//<=>return hi
}