#include <stdio.h>
 #include <stdlib.h>


void quick_sort(int count,int a[]);


int main(void)
{
int a[6]={0};
int i;
int num1 = 0;
int num2=0;
for(i=0;i<6;i++)
{
printf("숫자 입력하세요");
scanf("%d", &num1);
printf("%d를 입력\n",num1);
a[i]=num1;
}
for(i=0;i<6;i++)
{
printf("%d ",a[i]);
}
printf("\n1.정렬시작 2.끝내기 \n");
scanf("%d", &num2);
switch(num2)
{
case 1:
quick_sort(6,a);
for(i=0;i<6;i++)
{
printf("%d ",a[i]);
}
break;
case 2:
exit(0);
break;
}


return 0;
}
void quick_sort(int count,int a[])
{
int pivot, i, j,temp;


if(count <= 1)
return;


temp = 0;
pivot = 0;
i = pivot + 1;
j = count - 1;


while(1)
{
while (a[pivot] > a[i])
{
i++;
if(i >= count)
break;
}
while(a[pivot] < a[j])
{
j--;
}
if(i > j)
{
temp = a[pivot];
a[pivot] = a[j];
a[j] = temp;
break;
}
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
quick_sort(j,a);
quick_sort(count - (j + 1), &a[j + 1]);
}
이건데 좀 자세하게 해석해주실분좀잇나요? 주석좀 ㅠ