hey,
i am having problems with partition:
Code:
int Partition(int* panNumbers, int nSize)
{
int nPivot = panNumbers[0];
int nLeftIndex = 0;
int nRightIndex = nSize;
while (nLeftIndex < nRightIndex)
{
while (panNumbers[nLeftIndex] <= nPivot)
nLeftIndex++;
while (nRightIndex > nLeftIndex)
while (panNumbers[nRightIndex] >= nPivot)
nRightIndex--;
if (nLeftIndex < nRightIndex)
{
int temp = panNumbers[nLeftIndex];
panNumbers[nLeftIndex] = panNumbers[nRightIndex];
panNumbers[nRightIndex] = temp;
}
}
return nRightIndex;
}
i have been looking at some examples but cant seem to figure it out...