эта программа быстрой сортировки принимает входные значения во время выполнения, тогда ничего не происходит, ни завершение программы, ни вывод не отображаются.
Я проверяю алгоритм дважды, но не могу найти решения.
#include<stdio.h>
void quicksort(int a[25],int beg,int end)
{
int loc, right, left, temp;
if(beg<end)
{
left=beg;
loc=beg;
right=end;
while(loc<right)
a[loc]=a[right];
a[right]=temp;
}
{
while(a[loc]<=a[left]&&loc<end)
loc++;
while(a[right]>a[left])
right--;
if(loc<right)
{
temp=a[loc];
}
temp=a[left];
a[left]=a[right];
a[right]=temp;
quicksort(a,beg,right-1);
quicksort(a,right+1,end);
}
}
int main()
{
int i,n, a[25];
printf("Enter the no of elements:");
scanf("%d",&n);
printf("Enter the array elements:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
quicksort(a,0,n-1);
printf("Elements after sorting is:");
for(i=0;i<n;i++)
printf(" %d",a[i]);
return 0;
}
вывод не отображается. после ввода входных данных курсор останавливается в одном месте