#include <stdio.h>

void bubble_sort(int nums[], int length)
{
	int cc=0;
    for(int i=length-1; i>=0; i--){

        int has_sorted = 0;

        for(int j=0; j<i; j++){
            if(nums[j] < nums[j+1]){

                // swap elements
				cc+=1;
                int temp = nums[j];
                nums[j] = nums[j+1];
                nums[j+1] = temp;

                has_sorted = 1;
            }
        }

        if(has_sorted == 0){
            break;
        }
    }
    printf("\n比對次數:%d\n\n",cc);

}

void print_array(int nums[], int length)
{
    for(int i=0; i<length; i++){
        printf("%d ", nums[i]);
    }
    printf("\n");
}

int main()
{
    int nums[6] = {9, 12, 3, 25, 34, 90};
    printf("before sorting:\n");
    print_array(nums, 6);
    
    // call bubble sort function
    bubble_sort(nums, 6);

    printf("after sorting:\n");
    print_array(nums, 6);

    return 0;
}