#include #include #include "batcher.h" int a[1024]; int data[1024]; #define randomInt rand() % 1000 int less(int x, int y) { return data[a[x]] < data[a[y]]; } void exch(int x, int y) { int t = data[a[x]]; data[a[x]] = data[a[y]]; data[a[y]] = t; } void compexch(int x, int y) { if (less(y, x)) exch(x, y); } main(int argc, char *argv[]) { int i, N = atoi(argv[--argc]); for (i = 0; i < N; i++) data[i] = randomInt; for (i = 0; i < N; i++) a[i] = i; for (i = 0; i < N; i++) printf("%3d ", data[a[i]]); printf("\n"); mergesort(a, 0, N-1); for (i = 0; i < N; i++) printf("%3d ", data[a[i]]); printf("\n"); }