Ich habe jetzt erst versucht das goto durch eine Funktion zu ersetzen. Aber es gibt irgendeinen Fehler.
#include<iostream>
using namespace std;
int pivot(int* Array, int i, int r);
int quicksort(int* Array, int l, int r)
{
int i,j,t,v;
if(r>l)
{
i=l-1;
j=r-1;
v=Array[r-1];
while(1)
{
do i++; while(Array[i]<v);
do j--; while(Array[j]>v);
if(i>=j)
{
pivot(Array,i,r);
}
else
{
t=Array[i];
Array[i]=Array[j];
Array[j]=t;
}
}
}
}
int pivot(int* Array, int i, int r)
{
int q;
int l=0;
q=Array[i];
Array[i]=Array[r-1];
Array[r-1]=q;
quicksort(Array,l,i-1);
quicksort(Array,i+1,r);
}
int main()
{
//Erzeuge benutzerdefiniertes Array
int i,j,n;
cout<<"Bitte geben sie die Laenge der Zahlenfolge ein: ";
cin>>n;
int Array[n];
for(i=0;i<n;i++)
{
cout<<"Zahl eingeben: ";
cin>>Array[i];
}
//unsortierte Ausgabe
for(i=0;i<n;i++)
{
cout<<Array[i]<<" ";
}
cout<<endl;
//quicksort funktionsaufruf
quicksort(Array,1,n);
//sortierte Ausgabe
for(int i=0;i<n;i=i+1)
{
cout<<Array[i]<<" ";
}
cout<<endl;
system("pause");
}