3 static void batchers_sort(int baseP,int N,void (*makesmaller)())
5 int p, initq, q, r, d, x;
7 for (p=1; (1<<(p+1))<=N+1; p++);
10 for (initq=p; p>0; p/=2)
19 makesmaller(baseP+x,baseP+x+d);
27 void makesmaller(int n1,int n2)
29 printf("%d %d\n",n1,n2);
32 main(int argc,char *argv[])
34 batchers_sort(0,atoi(argv[1]),makesmaller);