Continue quick sort !!!!
This is binary search.Today I find some bugs about my quick sort.
For example :
int Search(BL langs[],char *key,int n)
{
int mid,low,high;
low=0;
high=n-1;
int flag;
while(low<=high)
{
mid=(low+high)/2;
flag=strcmp(key,langs[mid].f);
if(flag==0)
return mid;
else if(flag>0)
high=mid-1;
else
low=mid+1;
//fprintf(stderr,"key");
}
//printf("%d %d/n",low,high);
if(low>high)
{
fprintf(stderr,"can not find key/n");
return -1;
}
else
return mid;
}
This is binary search.Today I find some bugs about my quick sort.
For example :
10 1 3when to sort four records above,no limited cycle.
20 2 5
10 2 2
20 2 1
int Search(BL langs[],char *key,int n)
{
int mid,low,high;
low=0;
high=n-1;
int flag;
while(low<=high)
{
mid=(low+high)/2;
flag=strcmp(key,langs[mid].f);
if(flag==0)
return mid;
else if(flag>0)
high=mid-1;
else
low=mid+1;
//fprintf(stderr,"key");
}
//printf("%d %d/n",low,high);
if(low>high)
{
fprintf(stderr,"can not find key/n");
return -1;
}
else
return mid;
}