#include <stdio.h>
int show(int *a, int n)
{
n--;
n && show(a, n);
printf("%d ",a[n]);
return 1;
}
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
int sort(int *a,int *b)
{
int temp = *a;
*a = min(temp, *b);
*b = max(temp, *b);
return 1;
}
int bubble_(int *a, int n)
{
n--;
n && bubble_(a, n);
sort(&a[n], &a[n-1]);
return 1;
}
int bubble(int *a, int n)
{
bubble_(a, n);
n--;
n && bubble(a, n);
return 1;
}
int main()
{
int a[] = {2,1,6,8,9,7,4,3,5};
show(a, sizeof(a)/sizeof(a[0]));
puts("");
bubble(a, sizeof(a)/sizeof(a[0]));
puts("");
show(a, sizeof(a)/sizeof(a[0]));
puts("");
}