[ create a new paste ] login | about

Link: http://codepad.org/MUALNVwm    [ raw code | output | fork ]

shuax - C, pasted on Feb 1:
#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("");
}


Output:
1
2
3
2 1 6 8 9 7 4 3 5 

9 8 7 6 5 4 3 2 1 


Create a new paste based on this one


Comments: