배열의 크기를 입력받은후
배열의 크기만큼의 수를 입력 받은뒤 오름차순으로 정렬한 후 출력하는 프로그램입니다.
근데 여기서 밑줄친 부분을 어떻게 수정해야 배열 내 원소들 사이의 교환 회수를 출력할수 있을까요??
입력
10
4 3 7 8 0 5 2 1 6 9
출력
24
이렇게요
#include<stdio.h>
void quicksort(int number[10000],int first,int last){
int i, j, pivot, temp;
if(first<last){
pivot=first;
i=first;
j=last;
while(i<j){
while(number[i]<=number[pivot]&&i<last)
i++;
while(number[j]>number[pivot])
j--;
if(i<j){
temp=number[i];
number[i]=number[j];
number[j]=temp;
}
}
temp=number[pivot];
number[pivot]=number[j];
number[j]=temp;
quicksort(number,first,j-1);
quicksort(number,j+1,last);
}
}
int main(){
int i, count, number[10000];
printf("How many elements are u going to enter?: ");
scanf("%d",&count);
printf("Enter %d elements: ", count);
for(i=0;i<count;i++)
scanf("%d",&number[i]);
quicksort(number,0,count-1);
printf("Order of Sorted elements: ");
for(i=0;i<count;i++)
printf(" %d",number[i]);
return 0;
}