Thursday 5th November, 2009
Java should not look like this: code from the undergraduate archive.private static int[] s(int[] a, int sd) {
int b=0, ds = sd, dsa = (sd!= 0 ? Math.abs(sd) : (ds=1)), f=0; // assume 0 is positive
for (int d=0; d < a.length; d++) b = (a[d] > b ? a[d] : b);
int[] c = new int[b], e = new int[a.length];
for (int d=0; d < a.length; d++) c[a[d]-1]++;
for (int d=(sd < 0 ? b-1 : 0); (sd < 0 ? d >= 0 : d < b); d+=(ds/dsa)) while (c[d] > 0) {e[f++]=d+1; c[d]--;}
return e;
}
int b=0, ds = sd, dsa = (sd!= 0 ? Math.abs(sd) : (ds=1)), f=0; // assume 0 is positive
for (int d=0; d < a.length; d++) b = (a[d] > b ? a[d] : b);
int[] c = new int[b], e = new int[a.length];
for (int d=0; d < a.length; d++) c[a[d]-1]++;
for (int d=(sd < 0 ? b-1 : 0); (sd < 0 ? d >= 0 : d < b); d+=(ds/dsa)) while (c[d] > 0) {e[f++]=d+1; c[d]--;}
return e;
}
