#include <stdbool.h>
#include <stddef.h>
#include <malloc.h>
void swap(int *a, int *b)
{
int c = *a;
*a = *b;
*b = c;
}
bool compare(int a, int b)
{
if(a >b)
return true;
return false;
}
void bubble_sort(int *data, size_t size)
{
size_t i, j;
for (i = 1; i < size-1; i++){
for (j = 0; j < size-i; j++){
if(compare(data[j], data[j+1])){
swap(&data[j], &data[j+1]);
}
for (int i = 0; i < size; i++)
printf("%d ", data[i]);
printf("\r\n");
}
}
}
int main(int argc, int *argv[])
{
int data[] = {1, 3, 4, 6, 5, 2, 9, 8, 7};
bubble_sort(data, sizeof(data)/sizeof(int));
for (int i = 0; i < sizeof(data) / sizeof(int); i++)
printf("%d ", data[i]);
return 0;
}