//结果(从小到大)
void QuickSort(int T[],int N)
{
if(N<=1) return;
int *pBegin = T;
int *pEnd =T+N-1;
int CurData = T[0];
bool bBefore = true;
while(pBegin < pEnd)
{
if(bBefore)
{
if(*pEnd < CurData)
{
*pBegin = *pEnd;
bBefore =false;
}
else pEnd--;
}
else
{
if(*pBegin > CurData)
{
*pEnd = *pBegin ;
bBefore =true;
}
else pBegin++;
}
}
*pEnd = CurData;
QuickSort(T,pBegin-T);
QuickSort(pEnd+1,T+N-1-pEnd);
};
void QuickSort(int T[],int N)
{
if(N<=1) return;
int *pBegin = T;
int *pEnd =T+N-1;
int CurData = T[0];
bool bBefore = true;
while(pBegin < pEnd)
{
if(bBefore)
{
if(*pEnd < CurData)
{
*pBegin = *pEnd;
bBefore =false;
}
else pEnd--;
}
else
{
if(*pBegin > CurData)
{
*pEnd = *pBegin ;
bBefore =true;
}
else pBegin++;
}
}
*pEnd = CurData;
QuickSort(T,pBegin-T);
QuickSort(pEnd+1,T+N-1-pEnd);
};