#include <stdio.h>
#include <conio.h>
int *qs(int*,int,int);
int partition(int*,int,int);
void main()
{
int arr[]={60,65,70,75,80,55,50,45,40};
int p=0,q=8;
int *sa;
clrscr();
sa=qs(arr,p,q);
printf("\n After applying quick sort the array will be::\n");
while(p<=q)
{
printf(" %d",*sa);
sa++;
p++;
}
getch();
}
int *qs(int *arr,int p,int q)
{
int pos;
if(p==q)
{
return(arr);
}
else
{
pos=partition(arr,p,q);
qs(arr,p,pos-1);
qs(arr,pos+1,q);
return(arr);
}
}
int partition(int *arr,int p,int q)
{
int x,i,j,temp;
x=arr[p];
i=p;
for(j=p+1;j<=q;j++)
{
if(arr[j]<=x)
{
i=i+1;
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
temp=arr[i];
arr[i]=arr[p];
arr[p]=temp;
return i;
}
Le programme est pour le tri rapide en utilisant l'algorithme de division et de conquête. Alors que je compile ce code en utilisant turbo C++ 3.0, je ne reçois aucun message d'erreur mais en cours d'exécution je ne reçois que l'écran noir de la console .. J'ai essayé de nombreuses fois, mais pas en mesure de trouver une erreur.pas d'erreur de compilation mais pas de sortie en turbo C++ 3.0
Et que se passe-t-il dans le débogueur? Presque certainement une boucle infinie là-bas quelque part ... – trojanfoe
Veuillez utiliser GCC. Turbo C et Turbo C++ ont été utilisés par les dinosaures. Maintenant, ils sont éteints et ce compilateur aussi. –
ideone donne un segfault. – chris