Guten Tag an alle,
also ich geb mich jetzt echt mal geschlagen, ich kriegs net auf die Reihe.
Ich finde den Fehler in meinem Quelltext nicht. Er overflwot immer meinen Stack und ich hab echt keine Ahnung warum. Beim einzeldurchlauf von der Funktion Partition bekomm ich einen vernünftigen Wert, wenn ich es aber in Verbindung mit der QuickSort function laufen lasse gehen meine Variablen in den Keller, sprich seh werden endloch ins Negative, warum kein Peil!!!
Wenn mir hier keiner Helfen kann geb ich mich fürs erste geschlagen... Hoffe jemand kann mir Helfen.
int funcPartition(int aArray[], int nLeft, int nRight)
{
int nTemp;
int nL = nLeft;
int nR = nRight--;
int nPivot=aArray[nLeft];
while (nL<nR)
{
while(aArray[nL]>nPivot && nL<=nR)
{
nL++;
}
while(aArray[nR]<nPivot && nR>=nL)
{
nR--;
}
if (nL<nR)
{
nTemp=aArray[nL];
aArray[nL]=aArray[nR];
aArray[nR]=nTemp;
nL++;
nR--;
}
}
return nL;
}//END_funcPartition()
void funcQuickSort(int aArray[], int nLeft, int nRight)
{
int nIndex;
if (nRight>nLeft)
{
nIndex = funcPartition(aArray, nLeft, nRight);
nIndex=nIndex-1;
funcQuickSort(aArray, nLeft, nIndex);
nIndex=nIndex+2;
funcQuickSort(aArray, nIndex, nRight);
}
}//END_funcQuickSort()
//Grad ausm Kopf geschrieben kann evtl. Fehlerhaft sein also die main()
int main(void)
{
int aBla[6]={1,8,5,33,2,28};
funcQuickSort(aBla, 0, 6);
}//End_main()