퀵정렬.. 도와주세요
앤드류
질문 제목 : 퀵정렬.. 도와주세요퀵정렬 한번 작성해봤습니다. 자료가 정수일때는 잘됩니다.
근데 int를 float으로 바꾸기만하면 정렬은되는데 한칸씩밀려서
가장큰수는 아예 없어지고 가장작은수뒤에빈칸은 0으로 나와요
질문 내용 : 제가 뭘 놓치고있나요
#include stdio.h
#include conio.h
void qsort(float a[],int start, int end)
{
float pivot,temp;
int f=start,b=end;
if(end-start2) return;
pivot = a[start+1];
while(1)
{
while(pivota[f]) f++;
while(pivota[b]) b--;
if(f=b) break;
temp = a[f];
a[f] = a[b];
a[b] = temp;
}
temp = pivot;
pivot = a[f];
a[f] = temp;
qsort(a, start, f-1);
qsort(a, f+1, end);
}
void main()
{
float input[9];
int i;
for(i=0;i=8;i++)
{
printf(real number#%d : ,i+1);
scanf(%f,&input[i]);
}
qsort(input,0,9);
for(i=0;i=8;i++)
{
printf(#%d : %.2f\n,i,input[i]);
}
getch();
}
-
한샘가온 2024-03-16
아 제가 오해하게 잘못 써놨군요..
위에 float을 모두 int로 바꾸면 잘됩니다..
이제보니까 저런 엉터리가 어떻게 잘되는지 신기하네요 ;; -
도란도란 2024-03-16
자료가 정수일때도 마찬가지군요.