// Stable, bottom-up mergesort for a random permutation, // see Sedgewick, 3rd ed, program 8.5 // 6/9/12 BPW #include #include #include #define generateRandom(minRange,maxRange) \ (minRange)+abs(random()) % ((maxRange)-(minRange)+1) typedef int Item; #define key(A) (A) #define less(A, B) (key(A) < key(B)) #define exch(A, B) { Item t = A; A = B; B = t; } #define compexch(A, B) if (less(B, A)) exch(A, B) void generatePerm(int *perm,int permSize) { int i,k,temp; for (i=0;i