Go to the documentation of this file.Go to the SVN repository for this file.
4 #define _SWAP(a,b) temp=(a);(a)=(b);(b)=temp;
5 #define _vsortCBQuickM 7
12 int * iVal=(
int * ) pVal;
13 if (iVal[
i]>iVal[j])
return 1;
14 else if (iVal[
i]<iVal[j])
return -1;
28 for (
i=l;
i<=ir;
i++)ind[
i]=
i;
32 for (j=l+1;j<=ir;j++) {
34 for (
i=j-1;
i>=l;
i--) {
35 if(isCondFunc(pVal,ind[
i],inda)<=0)
break;
40 if (jstack == 0)
break;
46 _SWAP(ind[k],ind[l+1])
47 if(isCondFunc(pVal,ind[l],ind[ir])>0){
_SWAP(ind[l],ind[ir])}
48 if(isCondFunc(pVal,ind[l+1],ind[ir])>0){
_SWAP(ind[l+1],ind[ir])}
49 if(isCondFunc(pVal,ind[l],ind[l+1])>0){
_SWAP(ind[l],ind[l+1])}
55 do i++;
while (isCondFunc(pVal,ind[
i],inda)<0);
56 do j--;
while (isCondFunc(pVal,ind[j],inda)>0);
int algIntSORTFunction(void *pVal, int i, int j)
void algSortQuickCallbackIndex(void *pVal, int n, int *istack, int *ind, algSORTFunction isCondFunc)
int(* algSORTFunction)(void *pVal, int i, int j)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
unsigned int
A callback function used to compare two keys in a database.